{"__symbolic":"module","version":4,"metadata":{"RoleService":{"__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"}],"lists":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"status":[{"__symbolic":"method"}],"validedKey":[{"__symbolic":"method"}]}},"RoleIndexComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"van-role-index","template":"<bit-header>\n  <button nz-button nzType=\"primary\" [bitOpen]=\"['role-add']\">\n    <span>{{ bit.l[\"add\"] }}</span>\n  </button>\n</bit-header>\n<ng-template #title>\n  <nz-space>\n    <ng-container *ngIf=\"lists.hasSearch('name->' + bit.locale)\">\n      <nz-input-group *nzSpaceItem nzSearch [nzAddOnAfter]=\"nzAddOnAfter\" style=\"width: 320px\">\n        <input\n          nz-input\n          [bitSearchStart]=\"lists\"\n          [placeholder]=\"bit.l['search']\"\n          [(ngModel)]=\"lists.search['name->' + bit.locale].value\"\n          (after)=\"getLists(true)\"\n        />\n      </nz-input-group>\n      <ng-template #nzAddOnAfter>\n        <button\n          nz-button\n          nzType=\"primary\"\n          nzSearch\n          [bitSearchStart]=\"lists\"\n          (after)=\"getLists(true)\"\n        >\n          <i nz-icon nzType=\"search\"></i>\n        </button>\n      </ng-template>\n    </ng-container>\n    <button *nzSpaceItem nz-button nzType=\"default\" (click)=\"getLists(true)\">\n      <i nz-icon nzType=\"sync\"></i> {{ bit.l[\"refreshLists\"] }}\n    </button>\n    <button *nzSpaceItem nz-button nzType=\"default\" [bitSearchClear]=\"lists\" (after)=\"getLists(true)\">\n      <i nz-icon nzType=\"clear\"></i> {{ bit.l[\"clearSearch\"] }}\n    </button>\n    <button *nzSpaceItem nz-button nzDanger [disabled]=\"!lists.batch\" (click)=\"deleteCheckData()\">\n      <i nz-icon nzType=\"rest\"></i> {{ bit.l[\"bulkDelete\"] }}\n    </button>\n  </nz-space>\n</ng-template>\n\n<nz-card [nzTitle]=\"title\">\n  <nz-table\n    #table\n    [nzData]=\"lists.data\"\n    [nzLoading]=\"lists.loading\"\n    [nzTotal]=\"lists.totals\"\n    [nzPageSize]=\"lists.limit\"\n    [nzFrontPagination]=\"false\"\n    [(nzPageIndex)]=\"lists.index\"\n    (nzPageIndexChange)=\"getLists()\"\n    nzSize=\"middle\"\n  >\n    <thead>\n    <tr>\n      <th\n        nzShowCheckbox\n        nzWidth=\"65px\"\n        [(nzChecked)]=\"lists.checked\"\n        [nzIndeterminate]=\"lists.indeterminate\"\n        (nzCheckedChange)=\"lists.checkedAll($event)\"\n      ></th>\n      <th nzWidth=\"200px\">{{ bit.l[\"name\"] }}</th>\n      <th nzWidth=\"200px\">{{ bit.l[\"key\"] }}</th>\n      <th nzWidth=\"200px\">{{ bit.l[\"permission\"] }}</th>\n      <th>{{ bit.l[\"status\"] }}</th>\n      <th nzWidth=\"300px\" nzRight=\"0px\">{{ bit.l[\"action\"] }}</th>\n    </tr>\n    </thead>\n    <tbody>\n    <ng-container *ngFor=\"let data of table.data\">\n      <tr>\n        <td\n          nzShowCheckbox\n          [(nzChecked)]=\"data.checked\"\n          (nzCheckedChange)=\"lists.refreshStatus()\"\n        ></td>\n        <td>\n          <span>{{ data.name | object: bit.locale }}</span>\n          <ng-container *ngIf=\"data.note\">\n            <nz-divider nzType=\"vertical\"></nz-divider>\n            <i nz-icon nzType=\"info-circle\" [nz-tooltip]=\"data.note\"></i>\n          </ng-container>\n        </td>\n        <td>{{ data.key }}</td>\n        <td nzBreakWord>\n          <ng-container *ngFor=\"let x of data.permission | Split: ',';last as isLast\">\n            {{ permission[x] | object: bit.locale }}\n            <ng-container *ngIf=\"!isLast\">,</ng-container>\n          </ng-container>\n        </td>\n        <td>\n          <nz-switch\n            [(ngModel)]=\"data.status\"\n            [nzCheckedChildren]=\"bit.l['on']\"\n            [nzUnCheckedChildren]=\"bit.l['off']\"\n            [bitStatusChange]=\"roleService.status(data)\"\n          >\n          </nz-switch>\n        </td>\n        <td>\n          <a [bitOpen]=\"['role-edit', data.id]\">\n            <i nz-icon nzType=\"edit\"></i> {{ bit.l[\"edit\"] }}\n          </a>\n          <nz-divider nzType=\"vertical\"></nz-divider>\n          <a (click)=\"deleteData([data.id])\">\n            <i nz-icon nzType=\"delete\"></i> {{ bit.l[\"delete\"] }}\n          </a>\n        </td>\n      </tr>\n    </ng-container>\n    </tbody>\n  </nz-table>\n</nz-card>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-bit","name":"BitService","line":17,"character":16},{"__symbolic":"reference","module":"ngx-bit","name":"BitSwalService","line":18,"character":18},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":19,"character":21},{"__symbolic":"reference","name":"RoleService"},{"__symbolic":"reference","module":"van-skeleton/permission","name":"PermissionService","line":21,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}],"getLists":[{"__symbolic":"method"}],"getPermission":[{"__symbolic":"method"}],"deleteData":[{"__symbolic":"method"}],"deleteCheckData":[{"__symbolic":"method"}]}},"RoleAddComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"van-role-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          bitCol=\"control\"\n          nzHasFeedback\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        {{ bit.l[\"key\"] }}\n      </nz-form-label>\n      <nz-form-control\n        bitCol=\"control\"\n        nzHasFeedback\n        [nzValidatingTip]=\"bit.l['validating']\"\n        [nzErrorTip]=\"key.ref\"\n      >\n        <input nz-input formControlName=\"key\" [placeholder]=\"bit.l['keyPlaceholder']\" />\n        <bit-error-tip\n          #key\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[\"resource\"] }}\n      </nz-form-label>\n\n      <nz-form-control bitCol=\"control\">\n        <nz-space>\n          <nz-button-group *nzSpaceItem>\n            <button nz-button type=\"button\" (click)=\"allChecked()\">\n              <i nz-icon nzType=\"check-square\"></i>\n              {{ bit.l[\"checked\"] }}\n            </button>\n            <button nz-button type=\"button\" (click)=\"allUnchecked()\">\n              <i nz-icon nzType=\"close-square\"></i>\n              {{ bit.l[\"unchecked\"] }}\n            </button>\n          </nz-button-group>\n          <nz-button-group *nzSpaceItem>\n            <button nz-button type=\"button\" (click)=\"allExpand()\">\n              <i nz-icon nzType=\"node-expand\"></i>\n              {{ bit.l[\"expand\"] }}\n            </button>\n            <button nz-button type=\"button\" (click)=\"allClose()\">\n              <i nz-icon nzType=\"node-collapse\"></i>\n              {{ bit.l[\"close\"] }}\n            </button>\n          </nz-button-group>\n        </nz-space>\n\n        <nz-divider [nzDashed]=\"true\"></nz-divider>\n\n        <nz-tree\n          #nzTree\n          [nzBlockNode]=\"true\"\n          [nzShowLine]=\"true\"\n          [nzShowIcon]=\"true\"\n          [nzExpandAll]=\"true\"\n          [nzData]=\"nodes\"\n          (nzCheckBoxChange)=\"setResource()\"\n          nzCheckable\n        >\n        </nz-tree>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\">\n        <span>\n          {{ bit.l[\"permission\"] }}\n        </span>\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-select\n          style=\"width: 100%\"\n          nzMode=\"multiple\"\n          formControlName=\"permission\"\n          [nzPlaceHolder]=\"bit.l['permissionPlaceholder']\"\n        >\n          <ng-container *ngFor=\"let x of permissionLists\">\n            <nz-option [nzLabel]=\"x.name | object: bit.locale\" [nzValue]=\"x.key\"></nz-option>\n          </ng-container>\n        </nz-select>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\">\n        <span>\n          {{ bit.l[\"note\"] }}\n        </span>\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <textarea rows=\"4\" nz-input formControlName=\"note\"></textarea>\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":{"nzTree":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":["nzTree",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-bit","name":"BitService","line":24,"character":16},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":25,"character":16},{"__symbolic":"reference","module":"ngx-bit","name":"BitEventsService","line":26,"character":20},{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationService","line":27,"character":26},{"__symbolic":"reference","module":"ngx-bit","name":"BitSwalService","line":28,"character":18},{"__symbolic":"reference","name":"RoleService"},{"__symbolic":"reference","module":"van-skeleton/resource","name":"ResourceService","line":30,"character":29},{"__symbolic":"reference","module":"van-skeleton/permission","name":"PermissionService","line":31,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getNodes":[{"__symbolic":"method"}],"getPermission":[{"__symbolic":"method"}],"setResource":[{"__symbolic":"method"}],"allChecked":[{"__symbolic":"method"}],"allUnchecked":[{"__symbolic":"method"}],"allCheckedStatus":[{"__symbolic":"method"}],"allExpand":[{"__symbolic":"method"}],"allClose":[{"__symbolic":"method"}],"allExpandStatus":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}]}},"RoleEditComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"van-role-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        {{ bit.l[\"key\"] }}\n      </nz-form-label>\n      <nz-form-control\n        bitCol=\"control\"\n        nzHasFeedback\n        [nzValidatingTip]=\"bit.l['validating']\"\n        [nzErrorTip]=\"key.ref\"\n      >\n        <input nz-input formControlName=\"key\" [placeholder]=\"bit.l['keyPlaceholder']\" />\n        <bit-error-tip\n          #key\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[\"resource\"] }}\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-space>\n          <nz-button-group *nzSpaceItem>\n            <button nz-button type=\"button\" (click)=\"allChecked()\">\n              <i nz-icon nzType=\"check-square\"></i>\n              {{ bit.l[\"checked\"] }}\n            </button>\n            <button nz-button type=\"button\" (click)=\"allUnchecked()\">\n              <i nz-icon nzType=\"close-square\"></i>\n              {{ bit.l[\"unchecked\"] }}\n            </button>\n          </nz-button-group>\n          <nz-button-group *nzSpaceItem>\n            <button nz-button type=\"button\" (click)=\"allExpand()\">\n              <i nz-icon nzType=\"node-expand\"></i>\n              {{ bit.l[\"expand\"] }}\n            </button>\n            <button nz-button type=\"button\" (click)=\"allClose()\">\n              <i nz-icon nzType=\"node-collapse\"></i>\n              {{ bit.l[\"close\"] }}\n            </button>\n          </nz-button-group>\n        </nz-space>\n\n        <nz-divider [nzDashed]=\"true\"></nz-divider>\n\n        <nz-tree\n          #nzTree\n          [nzBlockNode]=\"true\"\n          [nzShowLine]=\"true\"\n          [nzShowIcon]=\"true\"\n          [nzExpandAll]=\"true\"\n          [nzData]=\"nodes\"\n          (nzCheckBoxChange)=\"setResource()\"\n          nzCheckable\n        >\n        </nz-tree>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\">\n        <span>\n          {{ bit.l[\"permission\"] }}\n        </span>\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <nz-select\n          style=\"width: 100%\"\n          nzMode=\"multiple\"\n          formControlName=\"permission\"\n          [nzPlaceHolder]=\"bit.l['permissionPlaceholder']\"\n        >\n          <ng-container *ngFor=\"let x of permissionLists\">\n            <nz-option [nzLabel]=\"x.name | object: bit.locale\" [nzValue]=\"x.key\"></nz-option>\n          </ng-container>\n        </nz-select>\n      </nz-form-control>\n    </nz-form-item>\n\n    <nz-form-item>\n      <nz-form-label bitCol=\"label\">\n        <span>\n          {{ bit.l[\"note\"] }}\n        </span>\n      </nz-form-label>\n      <nz-form-control bitCol=\"control\">\n        <textarea rows=\"4\" nz-input formControlName=\"note\"></textarea>\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":{"nzTree":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":19,"character":3},"arguments":["nzTree",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-bit","name":"BitService","line":29,"character":16},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":30,"character":16},{"__symbolic":"reference","module":"ngx-bit","name":"BitEventsService","line":31,"character":20},{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationService","line":32,"character":26},{"__symbolic":"reference","module":"ngx-bit","name":"BitSwalService","line":33,"character":18},{"__symbolic":"reference","name":"RoleService"},{"__symbolic":"reference","module":"van-skeleton/resource","name":"ResourceService","line":35,"character":29},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":36,"character":19},{"__symbolic":"reference","module":"van-skeleton/permission","name":"PermissionService","line":37,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"getNodes":[{"__symbolic":"method"}],"getPermission":[{"__symbolic":"method"}],"setResource":[{"__symbolic":"method"}],"allChecked":[{"__symbolic":"method"}],"allUnchecked":[{"__symbolic":"method"}],"allCheckedStatus":[{"__symbolic":"method"}],"allExpand":[{"__symbolic":"method"}],"allClose":[{"__symbolic":"method"}],"allExpandStatus":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}]}},"RoleModule":{"__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":"RoleIndexComponent"},{"__symbolic":"reference","name":"RoleAddComponent"},{"__symbolic":"reference","name":"RoleEditComponent"}],"exports":[{"__symbolic":"reference","name":"RoleIndexComponent"},{"__symbolic":"reference","name":"RoleAddComponent"},{"__symbolic":"reference","name":"RoleEditComponent"}]}]}],"members":{}}},"origins":{"RoleService":"./role.service","RoleIndexComponent":"./role-index/role-index.component","RoleAddComponent":"./role-add/role-add.component","RoleEditComponent":"./role-edit/role-edit.component","RoleModule":"./role.module"},"importAs":"van-skeleton/role"}