kre-form
Version:
本项目由 Angular8+ 编写的表单设计器和表单应用,所有的配置都是 JSON 结构体组成,PC 端是基于 ANT 组件库封装
1 lines • 14 kB
JSON
{"__symbolic":"module","version":4,"exports":[{"from":"./lib/public_api"}],"metadata":{"DeonCodemirror":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"selector":"deon-codemirror","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":47,"character":15},"useExisting":{"__symbolic":"reference","name":"DeonCodemirror"},"multi":true}],"preserveWhitespaces":false,"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":54,"character":19},"member":"OnPush"},"template":"<div class=\"formula-head\">\n <div class=\"formula-title\">\n <span class=\"formula-name\">{{ title }}</span\n ><span class=\"formula-equal\">=</span>\n </div>\n <div class=\"formula-textarea\">\n <textarea [name]=\"name\" autocomplete=\"off\" [autofocus]=\"autoFocus\" #ref>\n </textarea>\n <div class=\"btn-box\">\n <button\n nz-tooltip\n nzTooltipTitle=\"复制\"\n nzOverlayClassName=\" shiftMark-tooltip\"\n (click)=\"copy()\"\n class=\"copy\"\n nz-button\n type=\"button\"\n nzSize=\"small\"\n >\n <!-- [ngxClipboard]='value'\n (cbOnSuccess)='successFun($event)'\n (cbOnError)='errorFun($event)' -->\n <i nz-icon nzType=\"copy\"></i>\n </button>\n <button\n nz-tooltip\n nzTooltipTitle=\"粘贴\"\n nzOverlayClassName=\" shiftMark-tooltip\"\n (click)=\"paste()\"\n nzSize=\"small\"\n class=\"paste\"\n type=\"button\"\n nz-button\n >\n <i class=\"icon-other-WenBen\"></i>\n </button>\n </div>\n </div>\n</div>\n<div class=\"formula-wrapper\">\n <div class=\"field-list\">\n <div class=\"field-label\">可用变量</div>\n <div class=\"field-main\">\n <div class=\"formula-search\">\n <nz-input-group\n [nzPrefix]=\"suffixIconSearch1\"\n [nzSuffix]=\"inputClearTpl1\"\n >\n <input\n type=\"text\"\n nz-input\n placeholder=\"搜索可用变量\"\n [(ngModel)]=\"variableSearch\"\n />\n </nz-input-group>\n <ng-template #suffixIconSearch1>\n <i nz-icon nzType=\"search\"></i>\n </ng-template>\n <ng-template #inputClearTpl1\n ><i\n nz-icon\n class=\"ant-input-clear-icon\"\n nzType=\"close-circle\"\n *ngIf=\"variableSearch\"\n (click)=\"variableSearch = ''\"\n ></i>\n </ng-template>\n </div>\n <div class=\"formula-collapse\">\n <ng-container\n *ngIf=\"\n variableSearch === null || variableSearch === '';\n else varSearchPanel\n \"\n >\n <!-- 兼容 {}格式 -->\n <ng-container *ngIf=\"dateType !== 'array'; else arrayTemp\">\n <ng-container *ngTemplateOutlet=\"ctx; context: fieldData\">\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- 数组 st -->\n <ng-template #arrayTemp>\n <ng-container *ngFor=\"let item of fieldData\">\n <ng-container *ngTemplateOutlet=\"ctx; context: item\">\n </ng-container>\n </ng-container>\n </ng-template>\n <!-- 数组 end-->\n\n <!-- content st -->\n <ng-template\n #ctx\n let-filds=\"formFields\"\n let-tl=\"tableList\"\n let-fieldsName=\"fieldsName\"\n let-tablesName=\"tablesName\"\n >\n <nz-collapse nzGhost>\n <!-- formFields -->\n <nz-collapse-panel\n [nzHeader]=\"fieldsName || itemTitle.fieldsName\"\n *ngIf=\"filds && filds != null && filds.length\"\n >\n <ul>\n <li *ngFor=\"let field of filds\" (click)=\"insertField(field)\">\n {{ field.label }}\n </li>\n </ul>\n </nz-collapse-panel>\n\n <!-- tableList -->\n <nz-collapse-panel\n [nzHeader]=\"tablesName || itemTitle.tablesName\"\n *ngIf=\"tl && tl != null && tl.length\"\n >\n <nz-collapse nzGhost>\n <nz-collapse-panel\n *ngFor=\"let table of tl\"\n [nzHeader]=\"table.label\"\n >\n <ul>\n <li\n *ngFor=\"let field of table.fields\"\n (click)=\"insertField(field)\"\n >\n {{ field.label }}\n </li>\n </ul>\n </nz-collapse-panel>\n </nz-collapse>\n </nz-collapse-panel>\n </nz-collapse>\n </ng-template>\n <!-- content end -->\n\n <ng-template #varSearchPanel>\n <ul>\n <li\n *ngFor=\"let item of variableSearchList\"\n (click)=\"insertField(item)\"\n >\n {{ item.label }}\n </li>\n </ul>\n </ng-template>\n </div>\n </div>\n </div>\n <div class=\"formula-list\">\n <div class=\"formula-label\">函数</div>\n <div class=\"formula-main\">\n <div class=\"formula-menu\">\n <div class=\"formula-search\">\n <nz-input-group\n [nzPrefix]=\"suffixIconSearch2\"\n [nzSuffix]=\"inputClearTpl2\"\n >\n <input\n type=\"text\"\n nz-input\n placeholder=\"搜索函数\"\n [(ngModel)]=\"usageFunSearch\"\n />\n </nz-input-group>\n <ng-template #suffixIconSearch2>\n <i nz-icon nzType=\"search\"></i>\n </ng-template>\n <ng-template #inputClearTpl2\n ><i\n nz-icon\n class=\"ant-input-clear-icon\"\n nzType=\"close-circle\"\n *ngIf=\"usageFunSearch\"\n (click)=\"usageFunSearch = ''\"\n ></i>\n </ng-template>\n </div>\n <div class=\"formula-collapse\">\n <nz-collapse\n nzGhost\n *ngIf=\"\n usageFunSearch === null || usageFunSearch === '';\n else searchPanel\n \"\n >\n <nz-collapse-panel\n *ngFor=\"let usage of FormulaUsage\"\n [nzHeader]=\"usage.category\"\n >\n <ul>\n <li\n *ngFor=\"let item of usage.contains\"\n (mouseover)=\"usageMouseover(item)\"\n (click)=\"insertUsageFun(item)\"\n >\n {{ item.name }}\n </li>\n </ul>\n </nz-collapse-panel>\n </nz-collapse>\n <ng-template #searchPanel>\n <ul>\n <li\n *ngFor=\"let item of usageFunSearchList\"\n (mouseover)=\"usageMouseover(item)\"\n (click)=\"insertUsageFun(item)\"\n >\n {{ item.name }}\n </li>\n </ul>\n </ng-template>\n </div>\n </div>\n <div\n class=\"formula-intro\"\n [innerHtml]=\"usageDescription | safeHtml\"\n ></div>\n </div>\n </div>\n</div>\n"}]}],"members":{"itemTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"fieldData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"blacklist":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":3}}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":193,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":194,"character":3}}]}],"autoFocus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":196,"character":3}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":203,"character":3}}]}],"categorys":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":208,"character":3}}]}],"preserveScrollPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":229,"character":3}}]}],"cursorActivity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":234,"character":3}}]}],"focusChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":237,"character":3}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":239,"character":3}}]}],"drop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":241,"character":3}}]}],"textChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":243,"character":3}}]}],"ref":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":245,"character":3},"arguments":["ref",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"KeyValueDiffers","line":296,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":297,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":298,"character":15},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":299,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/core","name":"NzConfigService","line":300,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}],"filterUsageByBlackList":[{"__symbolic":"method"}],"resolveDisplayFormula":[{"__symbolic":"method"}],"resolveFomulaContext":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"codemirrorValueChanged":[{"__symbolic":"method"}],"setOptionIfChanged":[{"__symbolic":"method"}],"focusChanged":[{"__symbolic":"method"}],"scrollChanged":[{"__symbolic":"method"}],"cursorActive":[{"__symbolic":"method"}],"dropFiles":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"usageMouseover":[{"__symbolic":"method"}],"insertUsageFun":[{"__symbolic":"method"}],"insertField":[{"__symbolic":"method"}],"copy":[{"__symbolic":"method"}],"paste":[{"__symbolic":"method"}],"markField":[{"__symbolic":"method"}],"insertBarcket":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"fakeLabel":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}]}},"DeonCodemirrorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"DeonCodemirror"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":21,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input","name":"NzInputModule","line":22,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/collapse","name":"NzCollapseModule","line":23,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/icon","name":"NzIconModule","line":24,"character":4},{"__symbolic":"reference","module":"@kre-form/core","name":"KreFormModule","line":25,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/button","name":"NzButtonModule","line":26,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tooltip","name":"NzToolTipModule","line":27,"character":4}],"exports":[{"__symbolic":"reference","name":"DeonCodemirror"}],"entryComponents":[{"__symbolic":"reference","name":"DeonCodemirror"}],"schemas":[{"__symbolic":"reference","module":"@angular/core","name":"NO_ERRORS_SCHEMA","line":33,"character":12},{"__symbolic":"reference","module":"@angular/core","name":"CUSTOM_ELEMENTS_SCHEMA","line":33,"character":30}]}]}],"members":{}}},"origins":{"DeonCodemirror":"./lib/codemirror/index.component","DeonCodemirrorModule":"./lib/codemirror.module"},"importAs":"@kre-form/abc"}