{"__symbolic":"module","version":4,"metadata":{"ResourceService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-bit","name":"BitHttpService","line":9,"character":28}]}],"originLists":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"sort":[{"__symbolic":"method"}],"validedKey":[{"__symbolic":"method"}]}},"PolicyService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-bit","name":"BitHttpService","line":9,"character":18}]}],"originLists":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"status":[{"__symbolic":"method"}]}},"ResourceIndexComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"van-resource-index","template":"<bit-header>\n  <nz-alert bitBanner nzBanner nzType=\"info\" nzCloseable [nzMessage]=\"nzMessage.ref\">\n    <bit-print #nzMessage [text]=\"bit.l['info']\" [vars]=\"[vars0, vars1, vars2]\">\n      <ng-template #vars0>\n        <nz-tag>\n          <i nz-icon nzType=\"flag\"></i>\n        </nz-tag>\n      </ng-template>\n      <ng-template #vars1>\n        <nz-tag>\n          <i nz-icon nzType=\"file-done\"></i>\n        </nz-tag>\n      </ng-template>\n      <ng-template #vars2>\n        <nz-tag>\n          <i nz-icon nzType=\"control\"></i>\n        </nz-tag>\n      </ng-template>\n    </bit-print>\n  </nz-alert>\n  <button nz-button nzType=\"primary\" [bitOpen]=\"['resource-add']\">\n    <span>{{ bit.l[\"add\"] }}</span>\n  </button>\n</bit-header>\n\n<ng-template #title>\n  <nz-space>\n    <nz-button-group *nzSpaceItem>\n      <button nz-button [nz-tooltip]=\"bit.l['close']\" (click)=\"setExpand(false)\">\n        <i nz-icon nzType=\"node-collapse\"></i>\n      </button>\n      <button nz-button [nz-tooltip]=\"bit.l['expand']\" (click)=\"setExpand(true)\">\n        <i nz-icon nzType=\"node-expand\"></i>\n      </button>\n    </nz-button-group>\n    <nz-input-group *nzSpaceItem [nzSuffix]=\"suffixIcon\" style=\"width: 320px\">\n      <input type=\"text\" nz-input [placeholder]=\"bit.l['search']\" [(ngModel)]=\"search\" />\n    </nz-input-group>\n    <ng-template #suffixIcon>\n      <i nz-icon nzType=\"search\"></i>\n    </ng-template>\n    <ng-container *ngIf=\"!isSort\">\n      <button *nzSpaceItem nz-button nzType=\"primary\" (click)=\"openSort()\">\n        <i nz-icon nzType=\"sort-ascending\"></i>\n        {{ bit.l[\"sort\"] }}\n      </button>\n    </ng-container>\n    <ng-container *ngIf=\"isSort\">\n      <button *nzSpaceItem nz-button (click)=\"closeSort()\">\n        <i nz-icon nzType=\"close\"></i>\n        {{ bit.l[\"sortCancel\"] }}\n      </button>\n      <button *nzSpaceItem nz-button nzType=\"primary\" (click)=\"sortSubmit()\">\n        <i nz-icon nzType=\"check\"></i>\n        {{ bit.l[\"sortYes\"] }}\n      </button>\n    </ng-container>\n  </nz-space>\n</ng-template>\n\n<nz-ribbon [nzText]=\"isSort ? bit.l['isSort'] : null\">\n  <nz-card [nzTitle]=\"title\">\n    <nz-tree\n      *ngIf=\"isSort\"\n      #nzTree\n      class=\"tree-edit\"\n      [nzData]=\"resource\"\n      [nzBlockNode]=\"true\"\n      [nzShowIcon]=\"true\"\n      [nzExpandAll]=\"true\"\n      [nzDraggable]=\"true\"\n      [nzBeforeDrop]=\"beforeDrop\"\n      (nzOnDragEnd)=\"dragEnd()\"\n    >\n    </nz-tree>\n\n    <nz-tree\n      *ngIf=\"!isSort\"\n      #nzTree\n      [nzData]=\"resource\"\n      [nzShowLine]=\"true\"\n      [nzBlockNode]=\"true\"\n      [nzExpandedIcon]=\"nzExpandedIcon\"\n      (nzExpandChange)=\"onExpanded()\"\n      (nzContextMenu)=\"actions($event, actionsMenu)\"\n      [nzTreeTemplate]=\"nzTreeTemplate\"\n      [nzSearchValue]=\"search\"\n    >\n    </nz-tree>\n    <ng-template #nzExpandedIcon let-node>\n      <ng-container *ngIf=\"node.isLeaf\">\n        <i nz-icon nzType=\"file\"></i>\n      </ng-container>\n      <ng-container *ngIf=\"!node.isLeaf\">\n        <i nz-icon [nzType]=\"node.isExpanded ? 'folder-open' : 'folder'\"></i>\n      </ng-container>\n    </ng-template>\n    <ng-template #nzTreeTemplate let-node>\n      <nz-space>\n        <div *nzSpaceItem class=\"title\">\n          <ng-container *ngIf=\"node.origin.icon\">\n            <i nz-icon [nzType]=\"node.origin.icon\"></i>\n          </ng-container>\n          <mark *ngIf=\"node.isMatched\">{{ node.title }} [ {{ node.key }} ]</mark>\n          <span *ngIf=\"!node.isMatched\">{{ node.title }} [ {{ node.key }} ]</span>\n        </div>\n\n        <ng-container *ngIf=\"node.origin.nav || node.origin.router || node.origin.policy\">\n          <ng-container *nzSpaceItem>\n            <nz-tag>\n              <ng-container *ngIf=\"node.origin.nav\">\n                <i nz-icon nzType=\"flag\"></i>\n              </ng-container>\n              <ng-container\n                *ngIf=\"\n                (node.origin.nav && node.origin.router) ||\n                (node.origin.nav && !node.origin.router && node.origin.policy)\n              \"\n              >\n                <nz-divider nzType=\"vertical\"></nz-divider>\n              </ng-container>\n              <ng-container *ngIf=\"node.origin.router\">\n                <i nz-icon nzType=\"file-done\"></i>\n              </ng-container>\n              <ng-container *ngIf=\"node.origin.router && node.origin.policy\">\n                <nz-divider nzType=\"vertical\"></nz-divider>\n              </ng-container>\n              <ng-container *ngIf=\"node.origin.policy\">\n                <i nz-icon nzType=\"control\"></i>\n              </ng-container>\n            </nz-tag>\n            <nz-tag *ngIf=\"node.origin.policy && policy.has(node.key)\" nzColor=\"blue\">\n              <ng-container *ngIf=\"policy.has(node.key)\">\n                <ng-container *ngFor=\"let x of policy.get(node.key); last as isLast; index as i\">\n                  <ng-container *ngIf=\"i < 10\">\n                    {{ x.acl_key }}:\n                    <ng-container *ngIf=\"x.policy === 0\"> r</ng-container>\n                    <ng-container *ngIf=\"x.policy === 1\"> rw</ng-container>\n                    <nz-divider *ngIf=\"!isLast\" nzType=\"vertical\"></nz-divider>\n                  </ng-container>\n                </ng-container>\n                <ng-container *ngIf=\"policy.get(node.key).length >= 10\"> ...</ng-container>\n              </ng-container>\n            </nz-tag>\n          </ng-container>\n        </ng-container>\n      </nz-space>\n    </ng-template>\n    <nz-dropdown-menu #actionsMenu>\n      <ul nz-menu *ngIf=\"activeNode\">\n        <li style=\"color: #333\" nz-menu-item nzDisabled>\n          {{ activeNode.title }} [ {{ activeNode.key }} ]\n        </li>\n        <li nz-menu-divider></li>\n        <li nz-menu-item [bitOpen]=\"['resource-add', { parentId: activeNode.origin.id }]\">\n          <i nz-icon nzType=\"subnode\"></i> {{ bit.l[\"add\"] }}\n        </li>\n        <li *ngIf=\"activeNode.origin.policy\" nz-menu-item (click)=\"openPolicy()\">\n          <i nz-icon nzType=\"function\"></i> {{ bit.l[\"policy\"] }}\n        </li>\n        <li nz-menu-item [bitOpen]=\"['resource-edit', activeNode.origin.id]\">\n          <i nz-icon nzType=\"edit\"></i> {{ bit.l[\"edit\"] }}\n        </li>\n        <li nz-menu-divider></li>\n        <li\n          nz-menu-item\n          [nzDisabled]=\"activeNode.getChildren().length !== 0\"\n          (click)=\"deleteData()\"\n        >\n          <i nz-icon nzType=\"delete\"></i> {{ bit.l[\"delete\"] }}\n        </li>\n      </ul>\n    </nz-dropdown-menu>\n  </nz-card>\n</nz-ribbon>\n\n<nz-drawer\n  [nzWidth]=\"540\"\n  [nzTitle]=\"nzTitle\"\n  [nzVisible]=\"policyVisable\"\n  (nzOnClose)=\"closePolicy()\"\n>\n  <ng-template #nzTitle>\n    <nz-space>\n      <ng-container *nzSpaceItem>\n        <ng-container *ngIf=\"activeNode\">\n          {{ activeNode.title }}\n        </ng-container>\n      </ng-container>\n      <nz-input-group *nzSpaceItem nzCompact>\n        <nz-select\n          style=\"width: 160px\"\n          nzAllowClear\n          [(ngModel)]=\"policyAclKey\"\n          [nzShowSearch]=\"true\"\n          [nzPlaceHolder]=\"bit.l['aclKeyPlaceHolder']\"\n          [nzDropdownMatchSelectWidth]=\"false\"\n        >\n          <ng-container *ngFor=\"let x of policyAcl\">\n            <nz-option\n              [nzLabel]=\"(x.name | object: bit.locale) + '[' + x.key + ']'\"\n              [nzDisabled]=\"disabledAclKey(x.key)\"\n              [nzValue]=\"x.key\"\n            >\n            </nz-option>\n          </ng-container>\n        </nz-select>\n        <nz-select\n          style=\"width: 80px\"\n          [(ngModel)]=\"policyValue\"\n          [nzDropdownMatchSelectWidth]=\"false\"\n        >\n          <nz-option [nzLabel]=\"bit.l['policyRead']\" [nzValue]=\"0\"></nz-option>\n          <nz-option [nzLabel]=\"bit.l['policyReadAndWrite']\" [nzValue]=\"1\"></nz-option>\n        </nz-select>\n      </nz-input-group>\n      <button *nzSpaceItem nz-button nzType=\"primary\" (click)=\"policySubmit()\" [disabled]=\"!policyAclKey\">\n        <i nz-icon nzType=\"check\"></i> {{ bit.l[\"add\"] }}\n      </button>\n    </nz-space>\n  </ng-template>\n  <ng-container *nzDrawerContent>\n    <ng-container *ngIf=\"activeNode\">\n      <ng-container *ngFor=\"let data of policy.get(activeNode.key)\">\n\n        <nz-tag nzColor=\"blue\" nzMode=\"closeable\" (nzOnClose)=\"deletePolicy([data.id])\">\n          <span>{{ data.acl_key }}</span>\n          <nz-divider nzType=\"vertical\"></nz-divider>\n          <ng-container *ngIf=\"data.policy === 0\">\n            {{ bit.l[\"policyRead\"] }}\n          </ng-container>\n          <ng-container *ngIf=\"data.policy === 1\">\n            {{ bit.l[\"policyReadAndWrite\"] }}\n          </ng-container>\n        </nz-tag>\n      </ng-container>\n    </ng-container>\n  </ng-container>\n</nz-drawer>\n","styles":[".tree-edit{background:#eee}.title i{margin:0 5px}"]}]}],"members":{"nzTree":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":19,"character":3},"arguments":["nzTree"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-bit","name":"BitService","line":36,"character":16},{"__symbolic":"reference","module":"ngx-bit","name":"BitEventsService","line":37,"character":20},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":38,"character":16},{"__symbolic":"reference","module":"ngx-bit","name":"BitSwalService","line":39,"character":18},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":40,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationService","line":41,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/dropdown","name":"NzContextMenuService","line":42,"character":25},{"__symbolic":"reference","name":"ResourceService"},{"__symbolic":"reference","name":"PolicyService"},{"__symbolic":"reference","module":"van-skeleton/acl","name":"AclService","line":45,"character":24}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getNodes":[{"__symbolic":"method"}],"getPolicy":[{"__symbolic":"method"}],"getAcl":[{"__symbolic":"method"}],"onExpanded":[{"__symbolic":"method"}],"setExpand":[{"__symbolic":"method"}],"actions":[{"__symbolic":"method"}],"deleteData":[{"__symbolic":"method"}],"openSort":[{"__symbolic":"method"}],"closeSort":[{"__symbolic":"method"}],"dragEnd":[{"__symbolic":"method"}],"sortSubmit":[{"__symbolic":"method"}],"openPolicy":[{"__symbolic":"method"}],"closePolicy":[{"__symbolic":"method"}],"policyReset":[{"__symbolic":"method"}],"disabledAclKey":[{"__symbolic":"method"}],"policySubmit":[{"__symbolic":"method"}],"deletePolicy":[{"__symbolic":"method"}]}},"ResourceAddComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"van-resource-add","template":"<bit-header back>\n  <bit-i18n-switch></bit-i18n-switch>\n</bit-header>\n\n<nz-card>\n  <form nz-form [formGroup]=\"form\" (bitFormSubmit)=\"submit($event)\">\n    <nz-form-item formGroupName=\"name\" bitI18nUpdate>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        <span>\n          {{ bit.l[\"name\"] }}\n          <i\n            nz-icon\n            nz-tooltip\n            [nzTooltipTitle]=\"bit.l['i18nTip']\"\n            nzType=\"translation\"\n            nzTheme=\"outline\"\n          >\n          </i>\n        </span>\n      </nz-form-label>\n      <ng-container *ngFor=\"let x of bit.i18nContain\">\n        <nz-form-control\n          *ngIf=\"bit.equalI18n(x)\"\n          nzHasFeedback\n          bitCol=\"control\"\n          [nzErrorTip]=\"name.ref\"\n        >\n          <input\n            nz-input\n            [nz-tooltip]=\"tooltip.ref\"\n            [formControlName]=\"x\"\n            [placeholder]=\"bit.l['namePlaceholder']\"\n          />\n          <bit-i18n-tooltip #tooltip groupName=\"name\"></bit-i18n-tooltip>\n          <bit-error-tip\n            #name\n            [hasError]=\"{\n              required: bit.l['nameRequire']\n            }\"\n          ></bit-error-tip>\n        </nz-form-control>\n      </ng-container>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        <span\n        >{{ bit.l[\"key\"] }}\n          <i\n            nz-icon\n            nz-tooltip\n            [nzTooltipTitle]=\"bit.l['keyHelp']\"\n            nzType=\"question-circle\"\n            nzTheme=\"outline\"\n          ></i>\n        </span>\n      </nz-form-label>\n      <nz-form-control\n        bitCol=\"control\"\n        nzHasFeedback\n        [nzValidatingTip]=\"bit.l['validating']\"\n        [nzErrorTip]=\"api.ref\"\n      >\n        <input nz-input formControlName=\"key\" [placeholder]=\"bit.l['keyPlaceholder']\" />\n        <bit-error-tip\n          #api\n          [hasError]=\"{\n            required: bit.l['keyRequire'],\n            duplicated: bit.l['keyDuplicated']\n          }\"\n        ></bit-error-tip>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"parent\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-tree-select\n          *ngIf=\"parentLists.length !== 0\"\n          formControlName=\"parent\"\n          [nzDisabled]=\"parentId !== undefined\"\n          [nzNodes]=\"parentLists\"\n          [nzShowLine]=\"true\"\n          [nzShowSearch]=\"true\"\n          [nzDefaultExpandAll]=\"true\"\n          [nzPlaceHolder]=\"bit.l['parentPlaceholder']\"\n        >\n        </nz-tree-select>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"nav\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-switch\n          formControlName=\"nav\"\n          [nzCheckedChildren]=\"bit.l['yes']\"\n          [nzUnCheckedChildren]=\"bit.l['no']\"\n        >\n        </nz-switch>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"router\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-switch\n          formControlName=\"router\"\n          [nzCheckedChildren]=\"bit.l['yes']\"\n          [nzUnCheckedChildren]=\"bit.l['no']\"\n        >\n        </nz-switch>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"policy\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-switch\n          formControlName=\"policy\"\n          [nzCheckedChildren]=\"bit.l['yes']\"\n          [nzUnCheckedChildren]=\"bit.l['no']\"\n        >\n        </nz-switch>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\">\n        {{ bit.l[\"icon\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <input\n          type=\"text\"\n          nz-input\n          formControlName=\"icon\"\n          [placeholder]=\"bit.l['iconPlaceholder']\"\n        />\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"status\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-switch\n          formControlName=\"status\"\n          [nzCheckedChildren]=\"bit.l['on']\"\n          [nzUnCheckedChildren]=\"bit.l['off']\"\n        >\n        </nz-switch>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-divider></nz-divider>\n\n    <nz-form-item>\n      <nz-form-control bitCol=\"submit\">\n        <nz-space>\n          <button *nzSpaceItem nz-button nzType=\"primary\" [disabled]=\"!form.valid\">\n            <i nz-icon nzType=\"check\"></i> {{ bit.l[\"submit\"] }}\n          </button>\n          <button *nzSpaceItem nz-button type=\"button\" bitBack>\n            <i nz-icon nzType=\"close\"></i> {{ bit.l[\"cancel\"] }}\n          </button>\n        </nz-space>\n      </nz-form-control>\n    </nz-form-item>\n  </form>\n</nz-card>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-bit","name":"BitService","line":20,"character":16},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":21,"character":16},{"__symbolic":"reference","module":"ngx-bit","name":"BitEventsService","line":22,"character":20},{"__symbolic":"reference","module":"ngx-bit","name":"BitSwalService","line":23,"character":18},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":24,"character":19},{"__symbolic":"reference","name":"ResourceService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getParentNodes":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}]}},"ResourceEditComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"van-resource-edit","template":"<bit-header back>\n  <bit-i18n-switch></bit-i18n-switch>\n</bit-header>\n\n<nz-card>\n  <form nz-form [formGroup]=\"form\" (bitFormSubmit)=\"submit($event)\">\n    <nz-form-item formGroupName=\"name\" bitI18nUpdate>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        <span>\n          {{ bit.l[\"name\"] }}\n          <i\n            nz-icon\n            nz-tooltip\n            [nzTooltipTitle]=\"bit.l['i18nTip']\"\n            nzType=\"translation\"\n            nzTheme=\"outline\"\n          >\n          </i>\n        </span>\n      </nz-form-label>\n      <ng-container *ngFor=\"let x of bit.i18nContain\">\n        <nz-form-control\n          *ngIf=\"bit.equalI18n(x)\"\n          nzHasFeedback\n          bitCol=\"control\"\n          [nzErrorTip]=\"name.ref\"\n        >\n          <input\n            nz-input\n            [nz-tooltip]=\"tooltip.ref\"\n            [formControlName]=\"x\"\n            [placeholder]=\"bit.l['namePlaceholder']\"\n          />\n          <bit-i18n-tooltip #tooltip groupName=\"name\"></bit-i18n-tooltip>\n          <bit-error-tip\n            #name\n            [hasError]=\"{\n              required: bit.l['nameRequire']\n            }\"\n          ></bit-error-tip>\n        </nz-form-control>\n      </ng-container>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        <span\n        >{{ bit.l[\"key\"] }}\n          <i\n            nz-icon\n            nz-tooltip\n            [nzTooltipTitle]=\"bit.l['keyHelp']\"\n            nzType=\"question-circle\"\n            nzTheme=\"outline\"\n          ></i>\n        </span>\n      </nz-form-label>\n      <nz-form-control\n        bitCol=\"control\"\n        nzHasFeedback\n        [nzValidatingTip]=\"bit.l['validating']\"\n        [nzErrorTip]=\"api.ref\"\n      >\n        <input nz-input formControlName=\"key\" [placeholder]=\"bit.l['keyPlaceholder']\" />\n        <bit-error-tip\n          #api\n          [hasError]=\"{\n            required: bit.l['keyRequire'],\n            duplicated: bit.l['keyDuplicated']\n          }\"\n        ></bit-error-tip>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"parent\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-tree-select\n          *ngIf=\"parentLists.length !== 0\"\n          formControlName=\"parent\"\n          [nzNodes]=\"parentLists\"\n          [nzShowLine]=\"true\"\n          [nzShowSearch]=\"true\"\n          [nzDefaultExpandAll]=\"true\"\n          [nzPlaceHolder]=\"bit.l['parentPlaceholder']\"\n        >\n        </nz-tree-select>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"nav\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-switch\n          formControlName=\"nav\"\n          [nzCheckedChildren]=\"bit.l['yes']\"\n          [nzUnCheckedChildren]=\"bit.l['no']\"\n        >\n        </nz-switch>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"router\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-switch\n          formControlName=\"router\"\n          [nzCheckedChildren]=\"bit.l['yes']\"\n          [nzUnCheckedChildren]=\"bit.l['no']\"\n        >\n        </nz-switch>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"policy\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-switch\n          formControlName=\"policy\"\n          [nzCheckedChildren]=\"bit.l['yes']\"\n          [nzUnCheckedChildren]=\"bit.l['no']\"\n        >\n        </nz-switch>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\">\n        {{ bit.l[\"icon\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <input type=\"text\" nz-input formControlName=\"icon\" />\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\" nzRequired>\n        {{ bit.l[\"status\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-switch\n          formControlName=\"status\"\n          [nzCheckedChildren]=\"bit.l['on']\"\n          [nzUnCheckedChildren]=\"bit.l['off']\"\n        >\n        </nz-switch>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-divider></nz-divider>\n\n    <nz-form-item>\n      <nz-form-control bitCol=\"submit\">\n        <nz-space>\n          <button *nzSpaceItem nz-button nzType=\"primary\" [disabled]=\"!form.valid\">\n            <i nz-icon nzType=\"check\"></i> {{ bit.l[\"submit\"] }}\n          </button>\n          <button *nzSpaceItem nz-button type=\"button\" bitBack>\n            <i nz-icon nzType=\"close\"></i> {{ bit.l[\"cancel\"] }}\n          </button>\n        </nz-space>\n      </nz-form-control>\n    </nz-form-item>\n  </form>\n</nz-card>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-bit","name":"BitService","line":22,"character":16},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":23,"character":16},{"__symbolic":"reference","module":"ngx-bit","name":"BitEventsService","line":24,"character":20},{"__symbolic":"reference","module":"ngx-bit","name":"BitSwalService","line":25,"character":18},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":26,"character":19},{"__symbolic":"reference","name":"ResourceService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"getParentNodes":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}]}},"ResourceModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"van-skeleton","name":"ShareModule","line":8,"character":4}],"declarations":[{"__symbolic":"reference","name":"ResourceIndexComponent"},{"__symbolic":"reference","name":"ResourceAddComponent"},{"__symbolic":"reference","name":"ResourceEditComponent"}],"exports":[{"__symbolic":"reference","name":"ResourceIndexComponent"},{"__symbolic":"reference","name":"ResourceAddComponent"},{"__symbolic":"reference","name":"ResourceEditComponent"}]}]}],"members":{}}},"origins":{"ResourceService":"./resource.service","PolicyService":"./policy.service","ResourceIndexComponent":"./resource-index/resource-index.component","ResourceAddComponent":"./resource-add/resource-add.component","ResourceEditComponent":"./resource-edit/resource-edit.component","ResourceModule":"./resource.module"},"importAs":"van-skeleton/resource"}