ngx-rs-ant 1.6.5 → 1.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/box-container/box-container.component.d.ts +2 -1
  2. package/camunda-bpmn-editor/custom/hide-other/{GatewayReplaceMenuProvider.d.ts → CustomReplaceMenuProvider.d.ts} +1 -1
  3. package/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.d.ts +1 -1
  4. package/camunda-bpmn-editor/custom/hide-other/index.d.ts +2 -2
  5. package/camunda-bpmn-editor/custom/user-task/initUserTask.d.ts +1 -0
  6. package/data-grid/data-grid.service.d.ts +0 -1
  7. package/data-grid/instance-link-template/instance-link-template.component.d.ts +1 -0
  8. package/drawer/drawer.component.d.ts +3 -5
  9. package/drawer/drawer.service.d.ts +1 -2
  10. package/esm2020/box-container/PluginManager.mjs +2 -1
  11. package/esm2020/box-container/box-container.component.mjs +4 -2
  12. package/esm2020/camunda-bpmn-editor/camunda-bpmn-editor.component.mjs +1 -2
  13. package/esm2020/camunda-bpmn-editor/custom/hide-other/CustomReplaceMenuProvider.mjs +22 -0
  14. package/esm2020/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.mjs +7 -2
  15. package/esm2020/camunda-bpmn-editor/custom/hide-other/HideOtherPaletteProvider.mjs +2 -2
  16. package/esm2020/camunda-bpmn-editor/custom/hide-other/index.mjs +3 -3
  17. package/esm2020/camunda-bpmn-editor/custom/service-task/ServiceTaskContextPadProvider.mjs +1 -1
  18. package/esm2020/camunda-bpmn-editor/custom/user-task/UserTaskContextPadProvider.mjs +4 -7
  19. package/esm2020/camunda-bpmn-editor/custom/user-task/UserTaskPaletteProvider.mjs +3 -4
  20. package/esm2020/camunda-bpmn-editor/custom/user-task/initUserTask.mjs +13 -0
  21. package/esm2020/data-grid/data-grid.service.mjs +1 -10
  22. package/esm2020/data-grid/instance-link-template/instance-link-template.component.mjs +5 -3
  23. package/esm2020/drawer/drawer.component.mjs +7 -14
  24. package/esm2020/drawer/drawer.service.mjs +11 -7
  25. package/esm2020/form/form.component.mjs +1 -1
  26. package/esm2020/util/change-filter.mjs +3 -2
  27. package/fesm2015/ngx-rs-ant.mjs +53 -47
  28. package/fesm2015/ngx-rs-ant.mjs.map +1 -1
  29. package/fesm2020/ngx-rs-ant.mjs +52 -47
  30. package/fesm2020/ngx-rs-ant.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/esm2020/camunda-bpmn-editor/custom/hide-other/GatewayReplaceMenuProvider.mjs +0 -22
@@ -298,6 +298,7 @@ class PluginManager {
298
298
  }
299
299
  instance.opener = boxItem.boxContainer.opener;
300
300
  instance.params = boxItem.boxContainer.params;
301
+ instance.tabId = boxItem.boxContainer.tabId;
301
302
  instance.tabViewContainerRef = boxItem.boxContainer.tabViewContainerRef;
302
303
  if (boxItem.boxContainer.editMode) {
303
304
  instance.onRemove = () => {
@@ -787,8 +788,9 @@ class ChangeFilter {
787
788
  this.subscriptions.add(this.subject.subscribe(changes => {
788
789
  let hasChange = false;
789
790
  for (let key of keys) {
790
- if (changes[key] && !changes[key].isFirstChange()) {
791
+ if (changes[key] && !(changes[key].previousValue == changes[key].currentValue) && !changes[key].isFirstChange()) {
791
792
  hasChange = true;
793
+ break;
792
794
  }
793
795
  }
794
796
  if (hasChange) {
@@ -853,7 +855,7 @@ class BoxContainerComponent {
853
855
  }
854
856
  }
855
857
  BoxContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
856
- BoxContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxContainerComponent, selector: "rs-box-container", inputs: { id: "id", editMode: "editMode", config: "config", model: "model", opener: "opener", params: "params", readonly: "readonly", tabViewContainerRef: "tabViewContainerRef" }, viewQueries: [{ propertyName: "boxContainerContent", first: true, predicate: ["boxContainerContent"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container #boxContainerContent></ng-container>\n", styles: [":host{flex:1;position:relative;display:flex;flex-flow:row nowrap}\n"] });
858
+ BoxContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxContainerComponent, selector: "rs-box-container", inputs: { id: "id", editMode: "editMode", config: "config", model: "model", opener: "opener", params: "params", readonly: "readonly", tabId: "tabId", tabViewContainerRef: "tabViewContainerRef" }, viewQueries: [{ propertyName: "boxContainerContent", first: true, predicate: ["boxContainerContent"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container #boxContainerContent></ng-container>\n", styles: [":host{flex:1;position:relative;display:flex;flex-flow:row nowrap}\n"] });
857
859
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerComponent, decorators: [{
858
860
  type: Component,
859
861
  args: [{ selector: 'rs-box-container', template: "<ng-container #boxContainerContent></ng-container>\n", styles: [":host{flex:1;position:relative;display:flex;flex-flow:row nowrap}\n"] }]
@@ -871,6 +873,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
871
873
  type: Input
872
874
  }], readonly: [{
873
875
  type: Input
876
+ }], tabId: [{
877
+ type: Input
874
878
  }], tabViewContainerRef: [{
875
879
  type: Input
876
880
  }], boxContainerContent: [{
@@ -974,6 +978,19 @@ var customTranslateModule = {
974
978
  translate: ['value', customTranslate]
975
979
  };
976
980
 
981
+ function initUserTask(moddle, modeling, userTask) {
982
+ console.log(userTask);
983
+ const loopCharacteristics = moddle.create('bpmn:MultiInstanceLoopCharacteristics');
984
+ modeling.updateModdleProperties(userTask, loopCharacteristics, {
985
+ ['camunda:collection']: '${workflowHelper.collectUsers(execution, "' + userTask.id + '")}',
986
+ ['camunda:elementVariable']: 'user'
987
+ });
988
+ modeling.updateProperties(userTask, {
989
+ loopCharacteristics,
990
+ ['camunda:assignee']: '${user}'
991
+ });
992
+ }
993
+
977
994
  class UserTaskPaletteProvider {
978
995
  constructor(palette, translate, elementFactory, moddle, modeling, create) {
979
996
  this.translate = translate;
@@ -999,9 +1016,7 @@ class UserTaskPaletteProvider {
999
1016
  }
1000
1017
  createUserTask(event) {
1001
1018
  const shape = this.elementFactory.createShape({ type: 'bpmn:UserTask' });
1002
- const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');
1003
- loopCharacteristics.set('isSequential', false);
1004
- this.modeling.updateProperties(shape, { loopCharacteristics });
1019
+ initUserTask(this.moddle, this.modeling, shape);
1005
1020
  this.create.start(event, shape);
1006
1021
  }
1007
1022
  }
@@ -1042,17 +1057,13 @@ class UserTaskContextPadProvider {
1042
1057
  }
1043
1058
  appendUserTask(event, source) {
1044
1059
  const shape = this.elementFactory.createShape({ type: 'bpmn:UserTask' });
1045
- const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');
1046
- loopCharacteristics.set('isSequential', false);
1047
- this.modeling.updateProperties(shape, { loopCharacteristics });
1060
+ initUserTask(this.moddle, this.modeling, shape);
1048
1061
  this.autoPlace.append(source, shape);
1049
1062
  this.appendPreview.cleanUp();
1050
1063
  }
1051
1064
  appendUserTaskStart(event, source) {
1052
1065
  const shape = this.elementFactory.createShape({ type: 'bpmn:UserTask' });
1053
- const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');
1054
- loopCharacteristics.set('isSequential', false);
1055
- this.modeling.updateProperties(shape, { loopCharacteristics });
1066
+ initUserTask(this.moddle, this.modeling, shape);
1056
1067
  this.create.start(event, shape, {
1057
1068
  source: source
1058
1069
  });
@@ -1157,7 +1168,7 @@ class HideOtherPaletteProvider {
1157
1168
  'create.end-event',
1158
1169
  'create.user-task',
1159
1170
  'create.service-task',
1160
- // 'create.exclusive-gateway'
1171
+ 'create.exclusive-gateway'
1161
1172
  ];
1162
1173
  palette.registerProvider(0, this);
1163
1174
  }
@@ -1192,6 +1203,11 @@ class HideOtherContextPadProvider {
1192
1203
  };
1193
1204
  }
1194
1205
  else if (is(element, 'bpmn:SequenceFlow')) {
1206
+ if (is(element.businessObject.sourceRef, 'bpmn:Task')) {
1207
+ return {
1208
+ 'delete': entries['delete']
1209
+ };
1210
+ }
1195
1211
  if (entries['replace']) {
1196
1212
  return {
1197
1213
  'replace': this.createReplaceAction(element),
@@ -1216,7 +1232,7 @@ class HideOtherContextPadProvider {
1216
1232
  return {
1217
1233
  'append.user-task': entries['append.user-task'],
1218
1234
  'append.service-task': entries['append.service-task'],
1219
- // 'append.gateway': entries['append.gateway'],
1235
+ 'append.gateway': entries['append.gateway'],
1220
1236
  'append.end-event': entries['append.end-event'],
1221
1237
  'connect': entries['connect'],
1222
1238
  'delete': entries['delete']
@@ -1254,7 +1270,7 @@ class HideOtherContextPadProvider {
1254
1270
  }
1255
1271
  }
1256
1272
 
1257
- class GatewayReplaceMenuProvider {
1273
+ class CustomReplaceMenuProvider {
1258
1274
  constructor(popupMenu) {
1259
1275
  popupMenu.registerProvider('bpmn-replace', 0, this);
1260
1276
  }
@@ -1279,7 +1295,7 @@ var customHideOtherModule = {
1279
1295
  __init__: ['hideOtherPaletteProvider', 'hideOtherContextPadProvider', 'gatewayReplaceMenuProvider'],
1280
1296
  hideOtherPaletteProvider: ['type', HideOtherPaletteProvider],
1281
1297
  hideOtherContextPadProvider: ['type', HideOtherContextPadProvider],
1282
- gatewayReplaceMenuProvider: ['type', GatewayReplaceMenuProvider]
1298
+ gatewayReplaceMenuProvider: ['type', CustomReplaceMenuProvider]
1283
1299
  };
1284
1300
 
1285
1301
  class CodeEditorComponent {
@@ -1408,7 +1424,6 @@ class CamundaBpmnEditorComponent {
1408
1424
  customUserTaskModule,
1409
1425
  customServiceTaskModule,
1410
1426
  customHideOtherModule,
1411
- // customPropertiesPanelModule
1412
1427
  ]
1413
1428
  });
1414
1429
  const logo = this.modeler._container.querySelector('.bjs-powered-by');
@@ -1668,15 +1683,6 @@ class DataGridService {
1668
1683
  responseType: "blob"
1669
1684
  });
1670
1685
  }
1671
- getInstanceCaption(tenant, className, oid) {
1672
- return this.http.get('api/data/' + className + '/' + oid + '/caption', {
1673
- params: {
1674
- tenant
1675
- }
1676
- }).pipe(map(response => {
1677
- return response.data;
1678
- }));
1679
- }
1680
1686
  getUserInfo(uid) {
1681
1687
  if (!this.userInfoCache.hasOwnProperty(uid)) {
1682
1688
  this.userInfoCache[uid] = this.http.get('api/data/custom', {
@@ -2582,7 +2588,7 @@ class FormComponent {
2582
2588
  }
2583
2589
  }
2584
2590
  FormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, deps: [{ token: i0.ViewContainerRef }, { token: FormService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
2585
- FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template", extraAttrMap: "extraAttrMap", opener: "opener", params: "params", tabViewContainerRef: "tabViewContainerRef", onlyFrontEnd: "onlyFrontEnd", model: "model", readonly: "readonly" }, outputs: { onDataLoaded: "onDataLoaded", submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "validator", first: true, predicate: DxValidationGroupComponent, descendants: true }, { propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<dx-validation-group *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [model]=\"model\"\r\n [opener]=\"this\"\r\n [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-text-box height=\"0\" style=\"border: none;\">\r\n <dx-validator>\r\n <dxi-validation-rule *ngIf=\"extraValidator\" type=\"async\"\r\n [validationCallback]=\"extraValidate\"></dxi-validation-rule>\r\n </dx-validator>\r\n </dx-text-box>\r\n <div *ngIf=\"extraValidateMessage\" class=\"dx-field\">\r\n <div class=\"dx-field-value\">\r\n <div class=\"dx-toast-error dx-toast-content\">\r\n <div class=\"dx-toast-message\">{{ extraValidateMessage }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n", styles: [":host{padding:12px 24px 20px}:host dx-validation-group{display:flex;flex-flow:column nowrap}:host dx-validation-group .dx-field{top:16px}:host dx-validation-group .dx-field .dx-field-value .dx-toast-content{padding:4px 8px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BoxContainerComponent, selector: "rs-box-container", inputs: ["id", "editMode", "config", "model", "opener", "params", "readonly", "tabViewContainerRef"] }, { kind: "component", type: i6$1.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6$1.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { kind: "component", type: i6.DxLoadPanelComponent, selector: "dx-load-panel", inputs: ["animation", "closeOnOutsideClick", "container", "copyRootClassesToWrapper", "deferRendering", "delay", "elementAttr", "focusStateEnabled", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "indicatorSrc", "maxHeight", "maxWidth", "message", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showIndicator", "showPane", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "closeOnOutsideClickChange", "containerChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "delayChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "indicatorSrcChange", "maxHeightChange", "maxWidthChange", "messageChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showIndicatorChange", "showPaneChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i8.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }, { kind: "component", type: i9.DxValidatorComponent, selector: "dx-validator", inputs: ["adapter", "elementAttr", "height", "name", "validationGroup", "validationRules", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onValidated", "adapterChange", "elementAttrChange", "heightChange", "nameChange", "validationGroupChange", "validationRulesChange", "widthChange"] }] });
2591
+ FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template", extraAttrMap: "extraAttrMap", opener: "opener", params: "params", tabViewContainerRef: "tabViewContainerRef", onlyFrontEnd: "onlyFrontEnd", model: "model", readonly: "readonly" }, outputs: { onDataLoaded: "onDataLoaded", submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "validator", first: true, predicate: DxValidationGroupComponent, descendants: true }, { propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<dx-validation-group *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [model]=\"model\"\r\n [opener]=\"this\"\r\n [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-text-box height=\"0\" style=\"border: none;\">\r\n <dx-validator>\r\n <dxi-validation-rule *ngIf=\"extraValidator\" type=\"async\"\r\n [validationCallback]=\"extraValidate\"></dxi-validation-rule>\r\n </dx-validator>\r\n </dx-text-box>\r\n <div *ngIf=\"extraValidateMessage\" class=\"dx-field\">\r\n <div class=\"dx-field-value\">\r\n <div class=\"dx-toast-error dx-toast-content\">\r\n <div class=\"dx-toast-message\">{{ extraValidateMessage }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n", styles: [":host{padding:12px 24px 20px}:host dx-validation-group{display:flex;flex-flow:column nowrap}:host dx-validation-group .dx-field{top:16px}:host dx-validation-group .dx-field .dx-field-value .dx-toast-content{padding:4px 8px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BoxContainerComponent, selector: "rs-box-container", inputs: ["id", "editMode", "config", "model", "opener", "params", "readonly", "tabId", "tabViewContainerRef"] }, { kind: "component", type: i6$1.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6$1.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { kind: "component", type: i6.DxLoadPanelComponent, selector: "dx-load-panel", inputs: ["animation", "closeOnOutsideClick", "container", "copyRootClassesToWrapper", "deferRendering", "delay", "elementAttr", "focusStateEnabled", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "indicatorSrc", "maxHeight", "maxWidth", "message", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showIndicator", "showPane", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "closeOnOutsideClickChange", "containerChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "delayChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "indicatorSrcChange", "maxHeightChange", "maxWidthChange", "messageChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showIndicatorChange", "showPaneChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i7.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i8.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }, { kind: "component", type: i9.DxValidatorComponent, selector: "dx-validator", inputs: ["adapter", "elementAttr", "height", "name", "validationGroup", "validationRules", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onValidated", "adapterChange", "elementAttrChange", "heightChange", "nameChange", "validationGroupChange", "validationRulesChange", "widthChange"] }] });
2586
2592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, decorators: [{
2587
2593
  type: Component,
2588
2594
  args: [{ selector: 'rs-form', providers: [FormService], template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<dx-validation-group *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [model]=\"model\"\r\n [opener]=\"this\"\r\n [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-text-box height=\"0\" style=\"border: none;\">\r\n <dx-validator>\r\n <dxi-validation-rule *ngIf=\"extraValidator\" type=\"async\"\r\n [validationCallback]=\"extraValidate\"></dxi-validation-rule>\r\n </dx-validator>\r\n </dx-text-box>\r\n <div *ngIf=\"extraValidateMessage\" class=\"dx-field\">\r\n <div class=\"dx-field-value\">\r\n <div class=\"dx-toast-error dx-toast-content\">\r\n <div class=\"dx-toast-message\">{{ extraValidateMessage }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n", styles: [":host{padding:12px 24px 20px}:host dx-validation-group{display:flex;flex-flow:column nowrap}:host dx-validation-group .dx-field{top:16px}:host dx-validation-group .dx-field .dx-field-value .dx-toast-content{padding:4px 8px}\n"] }]
@@ -2649,8 +2655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2649
2655
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: DataDetailService }]; } });
2650
2656
 
2651
2657
  class DrawerComponent {
2652
- constructor(elementRef) {
2653
- this.elementRef = elementRef;
2658
+ constructor() {
2654
2659
  this.size = 'default';
2655
2660
  this._width = '480px';
2656
2661
  }
@@ -2665,14 +2670,6 @@ class DrawerComponent {
2665
2670
  this._width = this.size;
2666
2671
  }
2667
2672
  }
2668
- show() {
2669
- // 若存在多层抽屉,仅保留最上层
2670
- const nodeName = this.elementRef.nativeElement.nodeName;
2671
- const drawers = this._parentViewContainerRef.element.nativeElement.parentElement.querySelectorAll(nodeName);
2672
- for (let i = 0; i < drawers.length - 1; i++) {
2673
- drawers[i].querySelector('.drawer-close .coast-icon-arrow-right-filling').click();
2674
- }
2675
- }
2676
2673
  hide($event) {
2677
2674
  // 在service中重写
2678
2675
  }
@@ -2680,15 +2677,18 @@ class DrawerComponent {
2680
2677
  $event.stopPropagation();
2681
2678
  }
2682
2679
  autoHide($event) {
2683
- this.hide();
2680
+ var _a;
2681
+ if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.hideOnOutsideClick) {
2682
+ this.hide();
2683
+ }
2684
2684
  }
2685
2685
  }
2686
- DrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DrawerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
2686
+ DrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2687
2687
  DrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DrawerComponent, selector: "rs-drawer", host: { listeners: { "click": "stopPropagation($event)", "window:click": "autoHide($event)" } }, ngImport: i0, template: "<div class=\"drawer\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n</div>\n", styles: [":host .drawer{position:absolute;top:0;right:0;bottom:0;height:100%;z-index:var(--coast-z-index-drawer, 2000);background-color:var(--coast-base-bg-color, #fff);border-left:1px solid var(--coast-border-color, #dddddd);box-shadow:-8px 0 4px -4px #252b3a3d;display:flex;flex-flow:column nowrap}:host .drawer .drawer-header{flex:0 0 36px;padding:8px;border-bottom:1px solid var(--coast-border-color, #dddddd);display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end}:host .drawer .drawer-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .drawer .drawer-close{position:absolute;height:100%;width:20px;top:0;left:-20px;display:flex;flex-flow:row nowrap;align-items:center}:host .drawer .drawer-close dx-button{box-shadow:-8px 0 4px -4px #252b3a3d}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }] });
2688
2688
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DrawerComponent, decorators: [{
2689
2689
  type: Component,
2690
2690
  args: [{ selector: 'rs-drawer', template: "<div class=\"drawer\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n</div>\n", styles: [":host .drawer{position:absolute;top:0;right:0;bottom:0;height:100%;z-index:var(--coast-z-index-drawer, 2000);background-color:var(--coast-base-bg-color, #fff);border-left:1px solid var(--coast-border-color, #dddddd);box-shadow:-8px 0 4px -4px #252b3a3d;display:flex;flex-flow:column nowrap}:host .drawer .drawer-header{flex:0 0 36px;padding:8px;border-bottom:1px solid var(--coast-border-color, #dddddd);display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end}:host .drawer .drawer-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .drawer .drawer-close{position:absolute;height:100%;width:20px;top:0;left:-20px;display:flex;flex-flow:row nowrap;align-items:center}:host .drawer .drawer-close dx-button{box-shadow:-8px 0 4px -4px #252b3a3d}\n"] }]
2691
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { stopPropagation: [{
2691
+ }], ctorParameters: function () { return []; }, propDecorators: { stopPropagation: [{
2692
2692
  type: HostListener,
2693
2693
  args: ['click', ['$event']]
2694
2694
  }], autoHide: [{
@@ -2697,9 +2697,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2697
2697
  }] } });
2698
2698
 
2699
2699
  class DrawerService {
2700
- constructor() {
2701
- }
2702
- open(viewContainerRef, size = 'default', contentTemplate, contentTemplateContext, headerTemplate, headerTemplateContext) {
2700
+ open(viewContainerRef, size = 'default', contentTemplate, contentTemplateContext, headerTemplate, headerTemplateContext, config) {
2701
+ // 若已存在抽屉,先关闭
2702
+ const drawers = viewContainerRef.element.nativeElement.parentElement.querySelectorAll('RS-DRAWER');
2703
+ for (let i = 0; i < drawers.length; i++) {
2704
+ drawers[i].querySelector('.drawer-close .coast-icon-arrow-right-filling').click();
2705
+ }
2703
2706
  const drawerRef = viewContainerRef.createComponent(DrawerComponent);
2704
2707
  drawerRef.instance.hide = ($event) => {
2705
2708
  var _a;
@@ -2711,8 +2714,9 @@ class DrawerService {
2711
2714
  drawerRef.instance.headerTemplateContext = headerTemplateContext;
2712
2715
  drawerRef.instance.contentTemplate = contentTemplate;
2713
2716
  drawerRef.instance.contentTemplateContext = contentTemplateContext;
2714
- drawerRef.instance._parentViewContainerRef = viewContainerRef;
2715
- drawerRef.instance.show();
2717
+ drawerRef.instance.config = config || {
2718
+ hideOnOutsideClick: true
2719
+ };
2716
2720
  return drawerRef.instance;
2717
2721
  }
2718
2722
  }
@@ -2723,11 +2727,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2723
2727
  args: [{
2724
2728
  providedIn: 'root'
2725
2729
  }]
2726
- }], ctorParameters: function () { return []; } });
2730
+ }] });
2727
2731
 
2728
2732
  class InstanceLinkTemplateComponent {
2729
2733
  constructor(drawerService) {
2730
2734
  this.drawerService = drawerService;
2735
+ this.loading = false;
2731
2736
  }
2732
2737
  openNewTab($event) {
2733
2738
  var _a;
@@ -2751,16 +2756,17 @@ class InstanceLinkTemplateComponent {
2751
2756
  openDrawer($event) {
2752
2757
  var _a;
2753
2758
  (_a = $event.event) === null || _a === void 0 ? void 0 : _a.stopPropagation();
2759
+ this.loading = true;
2754
2760
  this.drawerService.open(this.drawerViewContainerRef, this.drawerSize || 'default', this.drawerFormContentTemplate, {
2755
2761
  template: this.drawerFormTemplate || 'About'
2756
2762
  }, this.drawerFormHeaderTemplate);
2757
2763
  }
2758
2764
  }
2759
2765
  InstanceLinkTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: InstanceLinkTemplateComponent, deps: [{ token: DrawerService }], target: i0.ɵɵFactoryTarget.Component });
2760
- InstanceLinkTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: InstanceLinkTemplateComponent, selector: "rs-instance-link-template", inputs: { tenant: "tenant", className: "className", oid: "oid", instanceLinkType: "instanceLinkType", drawerViewContainerRef: "drawerViewContainerRef", drawerSize: "drawerSize", drawerFormTemplate: "drawerFormTemplate" }, viewQueries: [{ propertyName: "drawerFormHeaderTemplate", first: true, predicate: ["drawerFormHeaderTemplate"], descendants: true, static: true }, { propertyName: "drawerFormContentTemplate", first: true, predicate: ["drawerFormContentTemplate"], descendants: true, static: true }], ngImport: i0, template: "<dx-button *ngIf=\"instanceLinkType === 'tab'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"\u67E5\u770B\u8BE6\u60C5\"\n (onClick)=\"openNewTab($event)\"></dx-button>\n<dx-button *ngIf=\"instanceLinkType === 'drawer'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"\u67E5\u770B\u8BE6\u60C5\"\n (onClick)=\"openDrawer($event)\"></dx-button>\n<ng-template #drawerFormHeaderTemplate>\n <dx-button icon=\"coast-icon coast-icon-send\" text=\"\u5728\u65B0\u9009\u9879\u5361\u4E2D\u67E5\u770B\" (onClick)=\"openNewTab($event)\"></dx-button>\n</ng-template>\n<ng-template #drawerFormContentTemplate let-modalContext>\n <rs-form [tenant]=\"tenant\"\n [className]=\"className\"\n [oid]=\"oid\"\n [template]=\"modalContext.template\"\n [tabViewContainerRef]=\"drawerViewContainerRef\"\n [readonly]=\"true\"></rs-form>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: FormComponent, selector: "rs-form", inputs: ["tenant", "className", "oid", "copyOid", "template", "extraAttrMap", "opener", "params", "tabViewContainerRef", "onlyFrontEnd", "model", "readonly"], outputs: ["onDataLoaded", "submitCallback"] }] });
2766
+ InstanceLinkTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: InstanceLinkTemplateComponent, selector: "rs-instance-link-template", inputs: { tenant: "tenant", className: "className", oid: "oid", instanceLinkType: "instanceLinkType", drawerViewContainerRef: "drawerViewContainerRef", drawerSize: "drawerSize", drawerFormTemplate: "drawerFormTemplate" }, viewQueries: [{ propertyName: "drawerFormHeaderTemplate", first: true, predicate: ["drawerFormHeaderTemplate"], descendants: true, static: true }, { propertyName: "drawerFormContentTemplate", first: true, predicate: ["drawerFormContentTemplate"], descendants: true, static: true }], ngImport: i0, template: "<dx-button *ngIf=\"instanceLinkType === 'tab'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"\u67E5\u770B\u8BE6\u60C5\"\n (onClick)=\"openNewTab($event)\"></dx-button>\n<dx-button *ngIf=\"instanceLinkType === 'drawer'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"\u67E5\u770B\u8BE6\u60C5\"\n (onClick)=\"openDrawer($event)\"></dx-button>\n<ng-template #drawerFormHeaderTemplate>\n <dx-button icon=\"coast-icon coast-icon-send\" text=\"\u5728\u65B0\u9009\u9879\u5361\u4E2D\u67E5\u770B\" (onClick)=\"openNewTab($event)\"></dx-button>\n</ng-template>\n<ng-template #drawerFormContentTemplate let-modalContext>\n <rs-form [tenant]=\"tenant\"\n [className]=\"className\"\n [oid]=\"oid\"\n [template]=\"modalContext.template\"\n [tabViewContainerRef]=\"drawerViewContainerRef\"\n (onDataLoaded)=\"loading = false\"\n [readonly]=\"true\"></rs-form>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: FormComponent, selector: "rs-form", inputs: ["tenant", "className", "oid", "copyOid", "template", "extraAttrMap", "opener", "params", "tabViewContainerRef", "onlyFrontEnd", "model", "readonly"], outputs: ["onDataLoaded", "submitCallback"] }] });
2761
2767
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: InstanceLinkTemplateComponent, decorators: [{
2762
2768
  type: Component,
2763
- args: [{ selector: 'rs-instance-link-template', template: "<dx-button *ngIf=\"instanceLinkType === 'tab'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"\u67E5\u770B\u8BE6\u60C5\"\n (onClick)=\"openNewTab($event)\"></dx-button>\n<dx-button *ngIf=\"instanceLinkType === 'drawer'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"\u67E5\u770B\u8BE6\u60C5\"\n (onClick)=\"openDrawer($event)\"></dx-button>\n<ng-template #drawerFormHeaderTemplate>\n <dx-button icon=\"coast-icon coast-icon-send\" text=\"\u5728\u65B0\u9009\u9879\u5361\u4E2D\u67E5\u770B\" (onClick)=\"openNewTab($event)\"></dx-button>\n</ng-template>\n<ng-template #drawerFormContentTemplate let-modalContext>\n <rs-form [tenant]=\"tenant\"\n [className]=\"className\"\n [oid]=\"oid\"\n [template]=\"modalContext.template\"\n [tabViewContainerRef]=\"drawerViewContainerRef\"\n [readonly]=\"true\"></rs-form>\n</ng-template>\n" }]
2769
+ args: [{ selector: 'rs-instance-link-template', template: "<dx-button *ngIf=\"instanceLinkType === 'tab'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"\u67E5\u770B\u8BE6\u60C5\"\n (onClick)=\"openNewTab($event)\"></dx-button>\n<dx-button *ngIf=\"instanceLinkType === 'drawer'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"\u67E5\u770B\u8BE6\u60C5\"\n (onClick)=\"openDrawer($event)\"></dx-button>\n<ng-template #drawerFormHeaderTemplate>\n <dx-button icon=\"coast-icon coast-icon-send\" text=\"\u5728\u65B0\u9009\u9879\u5361\u4E2D\u67E5\u770B\" (onClick)=\"openNewTab($event)\"></dx-button>\n</ng-template>\n<ng-template #drawerFormContentTemplate let-modalContext>\n <rs-form [tenant]=\"tenant\"\n [className]=\"className\"\n [oid]=\"oid\"\n [template]=\"modalContext.template\"\n [tabViewContainerRef]=\"drawerViewContainerRef\"\n (onDataLoaded)=\"loading = false\"\n [readonly]=\"true\"></rs-form>\n</ng-template>\n" }]
2764
2770
  }], ctorParameters: function () { return [{ type: DrawerService }]; }, propDecorators: { tenant: [{
2765
2771
  type: Input
2766
2772
  }], className: [{