{"__symbolic":"module","version":4,"metadata":{"MFieldsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"m-fields","template":"\n    <nz-table\n      class=\"m-fields-table\"\n      [nzData]=\"mDataSource.displayData\"\n      [nzVirtualItemSize]=\"mVirtualItemSize\"\n      [nzVirtualForTrackBy]=\"trackByIndex\"\n      [nzVirtualMaxBufferPx]=\"mVirtualMaxBufferPx\"\n      [nzVirtualMinBufferPx]=\"mVirtualMinBufferPx\"\n      [nzFrontPagination]=\"false\"\n      [nzHideOnSinglePage]=\"true\"\n      [nzScroll]=\"mScroll\"\n      [nzSize]=\"mSize\"\n    >\n      <thead>\n        <tr>\n          <ng-container *ngFor=\"let column of internalColumns\">\n            <th>{{ column.name }}</th>\n          </ng-container>\n        </tr>\n      </thead>\n      <tbody>\n        <ng-template nz-virtual-scroll let-item let-index=\"index\">\n          <tr>\n            <ng-container *ngFor=\"let column of internalColumns\" [ngSwitch]=\"column.key\">\n              <!-- 名称 -->\n              <td *ngSwitchCase=\"'name'\">\n                <nz-space nzAlign=\"center\">\n                  <!-- 暂时隐藏选择框 -->\n                  <label *ngIf=\"false\" nz-checkbox [(ngModel)]=\"item.checked\"></label>\n                  <m-field-icon class=\"m-field-icon\" *nzSpaceItem [mType]=\"item.combineType\"></m-field-icon>\n                  <ng-container *nzSpaceItem>\n                    <ng-container *ngIf=\"editingId !== item.uuid; else nameEditTpl\">{{ item.name }}</ng-container>\n                    <ng-template #nameEditTpl>\n                      <input nz-input [(ngModel)]=\"item.name\" />\n                    </ng-template>\n                  </ng-container>\n                </nz-space>\n              </td>\n              <!-- 描述 -->\n              <td *ngSwitchCase=\"'description'\">\n                <ng-container *ngIf=\"editingId !== item.uuid; else descriptionEditTpl\">{{ item.description }}</ng-container>\n                <ng-template #descriptionEditTpl>\n                  <input nz-input [(ngModel)]=\"item.description\" />\n                </ng-template>\n              </td>\n              <!-- 颜色 -->\n              <td *ngSwitchCase=\"'color'\">\n                <ng-container *ngIf=\"editingId !== item.uuid; else colorEditTpl\">\n                  <input nz-input class=\"m-field-color\" [disabled]=\"true\" [attr.type]=\"'color'\" [(ngModel)]=\"item.color\" />\n                </ng-container>\n                <ng-template #colorEditTpl>\n                  <input nz-input class=\"m-field-color\" [attr.type]=\"'color'\" [(ngModel)]=\"item.color\" />\n                </ng-template>\n              </td>\n              <!-- 类型 -->\n              <td *ngSwitchCase=\"'combineName'\">\n                {{ item.combineName }}\n              </td>\n              <!-- level -->\n              <td *ngSwitchCase=\"'level'\">\n                <nz-select\n                  *ngIf=\"editingId === item.uuid\"\n                  [nzDisabled]=\"editingId !== item.uuid\"\n                  [(ngModel)]=\"item.level\"\n                  (ngModelChange)=\"onLevelChange(item)\"\n                  [nzOptions]=\"mLevelOptions\"\n                ></nz-select>\n                <span *ngIf=\"editingId !== item.uuid\">\n                  {{ getLevelLabel(item.level) }}\n                </span>\n              </td>\n              <!-- 操作 -->\n              <td *ngSwitchCase=\"'operations'\">\n                <nz-space>\n                  <ng-container *ngIf=\"editingId !== item.uuid\">\n                    <a *nzSpaceItem (click)=\"onItemEdit(item.uuid)\">编辑</a>\n                  </ng-container>\n                  <ng-container *ngIf=\"editingId === item.uuid\">\n                    <a *nzSpaceItem (click)=\"onItemSave(item.uuid)\">保存</a>\n                  </ng-container>\n                  <a *nzSpaceItem (click)=\"onItemDelete(item)\">删除</a>\n                </nz-space>\n              </td>\n            </ng-container>\n          </tr>\n        </ng-template>\n      </tbody>\n    </nz-table>\n  ","host":{"class":"m-fields"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":111,"character":19},"member":"OnPush"}}]}],"members":{"mDataSource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":114,"character":3}}]}],"mLevelOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":3}}]}],"mColumns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":3}}]}],"mLevelToColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":117,"character":3}}]}],"mScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":122,"character":3}}]}],"mSaveFn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":123,"character":3}}]}],"mSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":124,"character":3}}]}],"mVirtualItemSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":3}}]}],"mVirtualMaxBufferPx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":126,"character":3}}]}],"mVirtualMinBufferPx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":127,"character":3}}]}],"mLevelChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":129,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":134,"character":27}]}],"ngOnChanges":[{"__symbolic":"method"}],"trackByIndex":[{"__symbolic":"method"}],"onItemEdit":[{"__symbolic":"method"}],"onItemSave":[{"__symbolic":"method"}],"onItemDelete":[{"__symbolic":"method"}],"onLevelChange":[{"__symbolic":"method"}],"getLevelLabel":[{"__symbolic":"method"}],"render":[{"__symbolic":"method"}]}},"MFieldsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":16,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":17,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/table","name":"NzTableModule","line":18,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/select","name":"NzSelectModule","line":19,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/space","name":"NzSpaceModule","line":20,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input","name":"NzInputModule","line":21,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/icon","name":"NzIconModule","line":22,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/checkbox","name":"NzCheckboxModule","line":23,"character":4}],"declarations":[{"__symbolic":"reference","name":"MFieldsComponent"},{"__symbolic":"reference","name":"MFieldIconComponent"}],"exports":[{"__symbolic":"reference","name":"MFieldsComponent"},{"__symbolic":"reference","name":"MFieldIconComponent"}],"providers":[]}]}],"members":{}},"IMFieldList":{"__symbolic":"interface"},"IMField":{"__symbolic":"interface"},"EMFieldCombineType":{"combine":"combine","char":"char"},"EMFieldLevel":{"level1":"level1","level2":"level2","level3":"level3"},"IMFieldColumn":{"__symbolic":"interface"},"IMFieldColumns":{"__symbolic":"interface"},"IMFieldLevelToColor":{"__symbolic":"interface"},"MFieldLevelOptions":[{"label":"第一级","value":"level1"},{"label":"第二级","value":"level2"},{"label":"第三级","value":"level3"}],"MField":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IMField"}]}]}},"MFieldColumn":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IMFieldColumn"}]}]}},"MFieldsDataSource":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"IMFieldList"}]}],"deleteItems":[{"__symbolic":"method"}],"addItems":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"updateColorByLevel":[{"__symbolic":"method"}]}},"MFieldIconComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"m-field-icon","template":"\n    <ng-container [ngSwitch]=\"mType\">\n      <i nz-icon *ngSwitchCase=\"'combine'\">\n        <svg\n          width=\"24px\"\n          height=\"22px\"\n          viewBox=\"0 0 24 22\"\n          version=\"1.1\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n        >\n          <g id=\"控件\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n            <g id=\"表格/内容/组合\" transform=\"translate(-43.000000, -13.000000)\" fill-rule=\"nonzero\">\n              <g id=\"编组\" transform=\"translate(17.000000, 12.000000)\">\n                <g id=\"编组\" transform=\"translate(26.000000, 0.000000)\">\n                  <g id=\"文件夹\" transform=\"translate(0.000000, 1.000000)\" fill=\"#2596F9\">\n                    <path\n                      d=\"M1.04977376,0 L9.94894198,0 C10.2202343,0 10.4809928,0.108263728 10.6765493,0.302093688 L13.6470588,3.24637681 L13.6470588,3.24637681 L0,3.24637681 L0,1.0821256 C0,0.484484135 0.469999719,0 1.04977376,0 Z\"\n                      id=\"形状结合\"\n                    ></path>\n                    <path\n                      d=\"M22.7484444,3.11111111 C23.4396595,3.11111111 24,3.67001852 24,4.35946575 L24,19.949713 C24,20.6391602 23.4396595,21.1980676 22.7484444,21.1980676 L1.25155556,21.1980676 C0.560340507,21.1980676 0,20.6391602 0,19.949713 L0,3.11111111 L22.7484444,3.11111111 Z\"\n                      id=\"矩形\"\n                    ></path>\n                  </g>\n                  <path\n                    d=\"M17.0550921,12.3291343 L17.7413735,12.7407889 C17.827497,12.7923476 17.8802142,12.8853492 17.8802142,12.9857263 C17.8802142,13.0861033 17.827497,13.179105 17.7413735,13.2306636 L12.4401071,16.4114234 L7.13884074,13.2306636 C7.05271722,13.179105 7,13.0861033 7,12.9857263 C7,12.8853492 7.05271722,12.7923476 7.13884074,12.7407889 L7.82512207,12.3291343 L12.4401071,15.0982395 L17.0550921,12.3291343 Z M17.0550921,15.0125971 L17.7413735,15.4242517 C17.827497,15.4758103 17.8802142,15.568812 17.8802142,15.669189 C17.8802142,15.7695661 17.827497,15.8625677 17.7413735,15.9141264 L12.7341461,18.9184628 C12.5531936,19.0271791 12.3270206,19.0271791 12.1460681,18.9184628 L7.13884074,15.9141264 C7.05271722,15.8625677 7,15.7695661 7,15.669189 C7,15.568812 7.05271722,15.4758103 7.13884074,15.4242517 L7.82512207,15.0125971 L12.4401071,17.7817023 L17.0550921,15.0125971 L17.0550921,15.0125971 Z M12.7335752,7.0815372 L17.7413735,10.0858736 C17.827497,10.1374323 17.8802142,10.2304339 17.8802142,10.330811 C17.8802142,10.431188 17.827497,10.5241897 17.7413735,10.5757483 L12.4401071,13.7565081 L7.13884074,10.5757483 C7.05271722,10.5241897 7,10.431188 7,10.330811 C7,10.2304339 7.05271722,10.1374323 7.13884074,10.0858736 L12.1460681,7.0815372 C12.3270206,6.97282093 12.5531936,6.97282093 12.7341461,7.0815372 L12.7335752,7.0815372 Z\"\n                    id=\"形状\"\n                    fill=\"#FFFFFF\"\n                  ></path>\n                </g>\n              </g>\n            </g>\n          </g>\n        </svg>\n      </i>\n      <i nz-icon *ngSwitchCase=\"'char'\">\n        <svg\n          width=\"24px\"\n          height=\"24px\"\n          viewBox=\"0 0 24 24\"\n          version=\"1.1\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n        >\n          <g id=\"控件\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n            <g id=\"表格/内容/条款\" transform=\"translate(-43.000000, -12.000000)\">\n              <g id=\"编组\" transform=\"translate(17.000000, 12.000000)\">\n                <g id=\"编组\" transform=\"translate(26.000000, 0.000000)\">\n                  <rect id=\"矩形\" fill=\"#21BC29\" x=\"0\" y=\"0\" width=\"24\" height=\"24\" rx=\"4\"></rect>\n                  <path\n                    d=\"M9.66666667,7.33333333 L17.25,7.33333333 L17.25,8.5 L9.66666667,8.5 L9.66666667,7.33333333 Z M6.75,7.04166667 L8.5,7.04166667 L8.5,8.79166667 L6.75,8.79166667 L6.75,7.04166667 Z M6.75,11.125 L8.5,11.125 L8.5,12.875 L6.75,12.875 L6.75,11.125 Z M6.75,15.2083333 L8.5,15.2083333 L8.5,16.9583333 L6.75,16.9583333 L6.75,15.2083333 Z M9.66666667,11.4166667 L17.25,11.4166667 L17.25,12.5833333 L9.66666667,12.5833333 L9.66666667,11.4166667 Z M9.66666667,15.5 L17.25,15.5 L17.25,16.6666667 L9.66666667,16.6666667 L9.66666667,15.5 Z\"\n                    id=\"形状\"\n                    fill=\"#FFFFFF\"\n                    fill-rule=\"nonzero\"\n                  ></path>\n                </g>\n              </g>\n            </g>\n          </g>\n        </svg>\n      </i>\n    </ng-container>\n  "}]}],"members":{"mType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}]}}},"origins":{"MFieldsComponent":"./field-list.component","MFieldsModule":"./field-list.module","IMFieldList":"./typings","IMField":"./typings","EMFieldCombineType":"./typings","EMFieldLevel":"./typings","IMFieldColumn":"./typings","IMFieldColumns":"./typings","IMFieldLevelToColor":"./typings","MFieldLevelOptions":"./data-source","MField":"./data-source","MFieldColumn":"./data-source","MFieldsDataSource":"./data-source","MFieldIconComponent":"./field-icon.component"},"importAs":"@mining/ui/fields"}