ngx-axis-appforge 0.0.77 → 0.0.79

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.
@@ -57,7 +57,7 @@ declare class Tree implements OnDestroy {
57
57
  constructor(cdRef: ChangeDetectorRef);
58
58
  hasChild: (_: number, node: FlatNode) => boolean;
59
59
  get hasExpanded(): boolean;
60
- onNodeClick(e: MouseEvent, node: FlatNode): void;
60
+ onNodeClick(e: MouseEvent, nodeId: string): void;
61
61
  select(nodeId: string, opt?: {
62
62
  sendEvent: boolean;
63
63
  }): void;
@@ -216,6 +216,7 @@ declare class Design extends ValueAccess<DesignOptions> implements OnDestroy {
216
216
  readonly chooseComponentVisible: _angular_core.ModelSignal<boolean>;
217
217
  readonly chooseComponentSubject: Subject<Example | undefined>;
218
218
  readonly chooseComponentTags: _angular_core.WritableSignal<string[]>;
219
+ readonly refreshScopeInfosSubject: Subject<string | undefined>;
219
220
  cacheSized: [number, number];
220
221
  setting: ViewContainerRef;
221
222
  settingRef?: ComponentRef<FunFieldValueBase>;
@@ -12,6 +12,7 @@ declare class TransferOptions extends ValueAccessOptions {
12
12
  readonly allowInvalidValue: WritableSignal<boolean>;
13
13
  readonly data: WritableSignal<any>;
14
14
  readonly type: WritableSignal<"normal" | "table">;
15
+ readonly listStyle: WritableSignal<any>;
15
16
  readonly oneWay: WritableSignal<boolean>;
16
17
  readonly modalTitle: WritableSignal<string>;
17
18
  readonly titles: WritableSignal<string>;
package/core/index.d.ts CHANGED
@@ -491,6 +491,7 @@ declare const AXIS_DESIGN_OPTIONS_NODE_FOR_MENU: InjectionToken<{
491
491
  }>;
492
492
  declare const AXIS_DESIGN_CAN_LOOP_TOKEN: InjectionToken<boolean>;
493
493
  declare const AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN: InjectionToken<(scopeId?: string) => BehaviorSubject<ScopeInfo[]>>;
494
+ declare const AXIS_DESIGN_SCOPE_INFOS_REFRESH_TOKEN: InjectionToken<BehaviorSubject<string | undefined>>;
494
495
  declare const AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN: InjectionToken<{
495
496
  component: string;
496
497
  componentName: string;
@@ -572,6 +573,7 @@ declare class FunField implements ControlValueAccessor, OnDestroy, AfterContentI
572
573
  readonly onlyFun: _angular_core.InputSignal<boolean>;
573
574
  readonly noListen: _angular_core.InputSignal<boolean>;
574
575
  readonly disabled: _angular_core.InputSignal<boolean>;
576
+ readonly scopeInfosRefresh: BehaviorSubject<string | undefined> | null;
575
577
  readonly getScopeInfos: ((scopeId?: string) => BehaviorSubject<ScopeInfo[]>) | null;
576
578
  readonly scopeInfos: _angular_core.Signal<ScopeInfo[] | undefined>;
577
579
  readonly scripts: {
@@ -863,5 +865,5 @@ declare function fn(fnBody: string, argsObj: any, ignoreUndefined?: boolean, pri
863
865
 
864
866
  declare function sendApi(opt: ApiOptions, http: HttpClient): Observable<any>;
865
867
 
866
- export { AXIS_COMPONENTS_LOADER_TOKEN, AXIS_COMPONENTS_TOKEN, AXIS_CURRENT_USER_PERMISSIONS_TOKEN, AXIS_DESIGN_ALL_PERMISSIONS_TOKEN, AXIS_DESIGN_CAN_LOOP_TOKEN, AXIS_DESIGN_CHOOSE_COMPONENT_FUNC_TOKEN, AXIS_DESIGN_CMPLIBS_TOKEN, AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN, AXIS_DESIGN_COMPONENT_REF_FOR_SETTING_TOKEN, AXIS_DESIGN_COMPONENT_REF_GETTER_TOKEN, AXIS_DESIGN_OPTIONS_NODE_FOR_MENU, AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, AXIS_EVENT_HANDLERS_TOKEN, AXIS_EVENT_HANDLER_DESCS_TOKEN, AXIS_FILE_BASE_URL_TOKEN, AXIS_FORM_REGISTE_CONTROL_TOKEN, AXIS_FORM_UNREGISTE_CONTROL_TOKEN, AXIS_HTTP_CONTEXT_DATA_TOKEN, AXIS_HTTP_CONTEXT_TOKEN, AXIS_INJECT_DATA_TOKEN, AXIS_INJECT_FUNC_TOKEN, AXIS_SCRIPTS_TOKEN, Base, BaseDesignSetting, BaseMenu, BaseOptions, CommonMenu, ComponentsLoader, DataHandler, DataOptions, DesignBuilder, DynamicDirective, ElementNode, FilteredTreeResult, FormValidators, FunField, FunFieldBase, FunFieldValueBase, HowLongPipe, InputTrigger, InputValidator, OptionsNode, ScopeDirective, SimpleMenu, ValueAccess, ValueAccessOptions, ValueDesignSetting, assignDefaultField, baseFbConfig, baseFunField, buildValidators, codeName, copy, deepMerge, fn, isEquals, listSort, nameCode, obj2Arr, objDiff, rebuildObject, recursionArray, recursionObject, sendApi, trackByFn, updateAndValidAll, valueFbConfig, valueFunField };
868
+ export { AXIS_COMPONENTS_LOADER_TOKEN, AXIS_COMPONENTS_TOKEN, AXIS_CURRENT_USER_PERMISSIONS_TOKEN, AXIS_DESIGN_ALL_PERMISSIONS_TOKEN, AXIS_DESIGN_CAN_LOOP_TOKEN, AXIS_DESIGN_CHOOSE_COMPONENT_FUNC_TOKEN, AXIS_DESIGN_CMPLIBS_TOKEN, AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN, AXIS_DESIGN_COMPONENT_REF_FOR_SETTING_TOKEN, AXIS_DESIGN_COMPONENT_REF_GETTER_TOKEN, AXIS_DESIGN_OPTIONS_NODE_FOR_MENU, AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, AXIS_DESIGN_SCOPE_INFOS_REFRESH_TOKEN, AXIS_EVENT_HANDLERS_TOKEN, AXIS_EVENT_HANDLER_DESCS_TOKEN, AXIS_FILE_BASE_URL_TOKEN, AXIS_FORM_REGISTE_CONTROL_TOKEN, AXIS_FORM_UNREGISTE_CONTROL_TOKEN, AXIS_HTTP_CONTEXT_DATA_TOKEN, AXIS_HTTP_CONTEXT_TOKEN, AXIS_INJECT_DATA_TOKEN, AXIS_INJECT_FUNC_TOKEN, AXIS_SCRIPTS_TOKEN, Base, BaseDesignSetting, BaseMenu, BaseOptions, CommonMenu, ComponentsLoader, DataHandler, DataOptions, DesignBuilder, DynamicDirective, ElementNode, FilteredTreeResult, FormValidators, FunField, FunFieldBase, FunFieldValueBase, HowLongPipe, InputTrigger, InputValidator, OptionsNode, ScopeDirective, SimpleMenu, ValueAccess, ValueAccessOptions, ValueDesignSetting, assignDefaultField, baseFbConfig, baseFunField, buildValidators, codeName, copy, deepMerge, fn, isEquals, listSort, nameCode, obj2Arr, objDiff, rebuildObject, recursionArray, recursionObject, sendApi, trackByFn, updateAndValidAll, valueFbConfig, valueFunField };
867
869
  export type { Cmplib, DataSourceOptions, DesignBindElementsResult, DesignBuildResult, DesignConfig, DynamicFnOptions, EventDesc, EventHandlerDesc, EventHandlerDescGroup, EventHandlerOptions, EventsHandler, Example, ExampleBuilder, ExampleDesc, ExampleGroup, FlatNode, FunFieldOptions, FunFieldValue, MyErrorsOptions, MyValidationErrors, NextInfo, OptionsChangeEvent, RegisteFormControlOptions, RegisteValueAccessOptions, ScopeInfo, TriggeEventsOptions };
@@ -18,7 +18,7 @@ import { BehaviorSubject, combineLatest, auditTime, tap, map, filter, take, debo
18
18
  import * as i3$1 from 'ng-zorro-antd/flex';
19
19
  import { NzFlexModule } from 'ng-zorro-antd/flex';
20
20
  import { SelectionModel } from '@angular/cdk/collections';
21
- import { FilteredTreeResult, AXIS_FILE_BASE_URL_TOKEN, AXIS_HTTP_CONTEXT_DATA_TOKEN, AXIS_COMPONENTS_LOADER_TOKEN, ScopeDirective, DynamicDirective, DesignBuilder, AXIS_INJECT_DATA_TOKEN, AXIS_INJECT_FUNC_TOKEN, AXIS_DESIGN_CMPLIBS_TOKEN, isEquals, ValueAccessOptions, copy, HowLongPipe, ValueAccess, AXIS_DESIGN_CAN_LOOP_TOKEN, AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN, AXIS_DESIGN_COMPONENT_REF_FOR_SETTING_TOKEN, AXIS_DESIGN_COMPONENT_REF_GETTER_TOKEN, AXIS_DESIGN_ALL_PERMISSIONS_TOKEN, AXIS_DESIGN_OPTIONS_NODE_FOR_MENU, AXIS_DESIGN_CHOOSE_COMPONENT_FUNC_TOKEN, OptionsNode } from 'ngx-axis-appforge/core';
21
+ import { FilteredTreeResult, AXIS_FILE_BASE_URL_TOKEN, AXIS_HTTP_CONTEXT_DATA_TOKEN, AXIS_COMPONENTS_LOADER_TOKEN, ScopeDirective, DynamicDirective, DesignBuilder, AXIS_INJECT_DATA_TOKEN, AXIS_INJECT_FUNC_TOKEN, AXIS_DESIGN_CMPLIBS_TOKEN, isEquals, ValueAccessOptions, copy, HowLongPipe, ValueAccess, AXIS_DESIGN_CAN_LOOP_TOKEN, AXIS_DESIGN_SCOPE_INFOS_REFRESH_TOKEN, AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN, AXIS_DESIGN_COMPONENT_REF_FOR_SETTING_TOKEN, AXIS_DESIGN_COMPONENT_REF_GETTER_TOKEN, AXIS_DESIGN_ALL_PERMISSIONS_TOKEN, AXIS_DESIGN_OPTIONS_NODE_FOR_MENU, AXIS_DESIGN_CHOOSE_COMPONENT_FUNC_TOKEN, OptionsNode } from 'ngx-axis-appforge/core';
22
22
  import * as i6 from 'ng-zorro-antd/button';
23
23
  import { NzButtonModule } from 'ng-zorro-antd/button';
24
24
  import * as i9 from 'ng-zorro-antd/tooltip';
@@ -250,12 +250,14 @@ class Tree {
250
250
  get hasExpanded() {
251
251
  return this.treeControl.expansionModel.selected.length > 0;
252
252
  }
253
- onNodeClick(e, node) {
254
- if (e.metaKey) {
255
- this.toggleSelect(node.id, { sendEvent: true });
253
+ onNodeClick(e, nodeId) {
254
+ e.preventDefault();
255
+ e.stopPropagation();
256
+ if (e.ctrlKey || e.metaKey) {
257
+ this.toggleSelect(nodeId, { sendEvent: true });
256
258
  }
257
259
  else {
258
- this.selectOne(node.id, { sendEvent: true });
260
+ this.selectOne(nodeId, { sendEvent: true });
259
261
  }
260
262
  }
261
263
  select(nodeId, opt) {
@@ -324,6 +326,7 @@ class Tree {
324
326
  this.flatNodeMap.clear();
325
327
  }
326
328
  contextMenu(e, nodeId) {
329
+ this.onNodeClick(e, nodeId);
327
330
  this.onContextMenu.emit({ event: e, nodeId });
328
331
  }
329
332
  removeSelected() {
@@ -409,11 +412,11 @@ class Tree {
409
412
  }
410
413
  }
411
414
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Tree, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
412
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: Tree, isStandalone: true, selector: "axis-design-tree", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, optionsNodes: { classPropertyName: "optionsNodes", publicName: "optionsNodes", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onChange: "onChange", onSelect: "onSelect", onContextMenu: "onContextMenu" }, ngImport: i0, template: "<div nz-flex [nzVertical]=\"true\" style=\"height: 100%;\">\n <div nz-flex style=\"padding-right: 8px;\" nzGap=\"4px\" nzAlign=\"center\">\n <input style=\"flex:1;\" type=\"text\" nz-input placeholder=\"\u641C\u7D22\" nzBorderless ngModel\n (ngModelChange)=\"searchValue$.next($event)\" />\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" (click)=\"toggleExpanded()\">\n <nz-icon [nzType]=\"hasExpanded?'shrink':'arrows-alt'\" nzTheme=\"outline\" />\n </button>\n </div>\n @if (node() === null) {\n <nz-empty [nzNotFoundContent]=\"contentTpl\" [nzNotFoundFooter]=\"footerTpl\">\n <ng-template #contentTpl>\n \u6CA1\u6709\u7EC4\u4EF6\n </ng-template>\n <ng-template #footerTpl>\n <button nz-button nzType=\"dashed\" (click)=\"addRootComponent()\">\n <nz-icon nzType=\"plus\"></nz-icon>\n \u6DFB\u52A0\u7EC4\u4EF6\n </button>\n </ng-template>\n </nz-empty>\n }@else {\n <nz-tree-view nzDirectoryTree [nzTreeControl]=\"treeControl\" [nzDataSource]=\"dataSource\">\n <nz-tree-node *nzTreeNodeDef=\"let node\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle nzTreeNodeNoopToggle></nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n <nz-tree-node *nzTreeNodeDef=\"let node; when: hasChild\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle>\n <nz-icon nzType=\"caret-down\" nzTreeNodeToggleRotateIcon />\n </nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n </nz-tree-view>\n }\n</div>", styles: ["::ng-deep .highlight{color:#f50}nz-tree-view{overflow:auto;flex:1}.drop_in{outline:1px solid blue}.drop_up:after{content:\"\";position:absolute;top:-1px;width:100%;height:2px;background-color:#00f}.drop_down:after{content:\"\";position:absolute;bottom:-1px;width:100%;height:2px;background-color:#00f}nz-tree-view ::ng-deep .ant-tree-list-holder{margin-bottom:300px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i2.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i3.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzTreeViewModule }, { kind: "component", type: i4.NzTreeViewComponent, selector: "nz-tree-view", exportAs: ["nzTreeView"] }, { kind: "directive", type: i4.NzTreeNodeDefDirective, selector: "[nzTreeNodeDef]", inputs: ["nzTreeNodeDefWhen"] }, { kind: "component", type: i4.NzTreeNodeComponent, selector: "nz-tree-node:not([builtin])", exportAs: ["nzTreeNode"] }, { kind: "directive", type: i4.NzTreeNodeToggleDirective, selector: "nz-tree-node-toggle:not([nzTreeNodeNoopToggle]), [nzTreeNodeToggle]", inputs: ["nzTreeNodeToggleRecursive"] }, { kind: "directive", type: i4.NzTreeNodePaddingDirective, selector: "[nzTreeNodePadding]", inputs: ["nzTreeNodePadding", "nzTreeNodePaddingIndent"] }, { kind: "directive", type: i4.NzTreeNodeToggleRotateIconDirective, selector: "[nzTreeNodeToggleRotateIcon]" }, { kind: "component", type: i4.NzTreeNodeOptionComponent, selector: "nz-tree-node-option", inputs: ["nzSelected", "nzDisabled"], outputs: ["nzClick"] }, { kind: "directive", type: i4.NzTreeNodeNoopToggleDirective, selector: "nz-tree-node-toggle[nzTreeNodeNoopToggle], [nzTreeNodeNoopToggle]" }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$1.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "ngmodule", type: NzTooltipModule }, { kind: "directive", type: i9.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "ngmodule", type: NzEmptyModule }, { kind: "component", type: i10.NzEmptyComponent, selector: "nz-empty", inputs: ["nzNotFoundImage", "nzNotFoundContent", "nzNotFoundFooter"], exportAs: ["nzEmpty"] }, { kind: "pipe", type: NzHighlightPipe, name: "nzHighlight" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
415
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: Tree, isStandalone: true, selector: "axis-design-tree", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, optionsNodes: { classPropertyName: "optionsNodes", publicName: "optionsNodes", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onChange: "onChange", onSelect: "onSelect", onContextMenu: "onContextMenu" }, ngImport: i0, template: "<div nz-flex [nzVertical]=\"true\" style=\"height: 100%;\">\n <div nz-flex style=\"padding-right: 8px;\" nzGap=\"4px\" nzAlign=\"center\">\n <input style=\"flex:1;\" type=\"text\" nz-input placeholder=\"\u641C\u7D22\" nzBorderless ngModel\n (ngModelChange)=\"searchValue$.next($event)\" />\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" (click)=\"toggleExpanded()\">\n <nz-icon [nzType]=\"hasExpanded?'shrink':'arrows-alt'\" nzTheme=\"outline\" />\n </button>\n </div>\n @if (node() === null) {\n <nz-empty [nzNotFoundContent]=\"contentTpl\" [nzNotFoundFooter]=\"footerTpl\">\n <ng-template #contentTpl>\n \u6CA1\u6709\u7EC4\u4EF6\n </ng-template>\n <ng-template #footerTpl>\n <button nz-button nzType=\"dashed\" (click)=\"addRootComponent()\">\n <nz-icon nzType=\"plus\"></nz-icon>\n \u6DFB\u52A0\u7EC4\u4EF6\n </button>\n </ng-template>\n </nz-empty>\n }@else {\n <nz-tree-view nzDirectoryTree [nzTreeControl]=\"treeControl\" [nzDataSource]=\"dataSource\">\n <nz-tree-node *nzTreeNodeDef=\"let node\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle nzTreeNodeNoopToggle></nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node.id)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n <nz-tree-node *nzTreeNodeDef=\"let node; when: hasChild\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle>\n <nz-icon nzType=\"caret-down\" nzTreeNodeToggleRotateIcon />\n </nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node.id)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n </nz-tree-view>\n }\n</div>", styles: ["::ng-deep .highlight{color:#f50}nz-tree-view{overflow:auto;flex:1}.drop_in{outline:1px solid blue}.drop_up:after{content:\"\";position:absolute;top:-1px;width:100%;height:2px;background-color:#00f}.drop_down:after{content:\"\";position:absolute;bottom:-1px;width:100%;height:2px;background-color:#00f}nz-tree-view ::ng-deep .ant-tree-list-holder{margin-bottom:300px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i2.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i3.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzTreeViewModule }, { kind: "component", type: i4.NzTreeViewComponent, selector: "nz-tree-view", exportAs: ["nzTreeView"] }, { kind: "directive", type: i4.NzTreeNodeDefDirective, selector: "[nzTreeNodeDef]", inputs: ["nzTreeNodeDefWhen"] }, { kind: "component", type: i4.NzTreeNodeComponent, selector: "nz-tree-node:not([builtin])", exportAs: ["nzTreeNode"] }, { kind: "directive", type: i4.NzTreeNodeToggleDirective, selector: "nz-tree-node-toggle:not([nzTreeNodeNoopToggle]), [nzTreeNodeToggle]", inputs: ["nzTreeNodeToggleRecursive"] }, { kind: "directive", type: i4.NzTreeNodePaddingDirective, selector: "[nzTreeNodePadding]", inputs: ["nzTreeNodePadding", "nzTreeNodePaddingIndent"] }, { kind: "directive", type: i4.NzTreeNodeToggleRotateIconDirective, selector: "[nzTreeNodeToggleRotateIcon]" }, { kind: "component", type: i4.NzTreeNodeOptionComponent, selector: "nz-tree-node-option", inputs: ["nzSelected", "nzDisabled"], outputs: ["nzClick"] }, { kind: "directive", type: i4.NzTreeNodeNoopToggleDirective, selector: "nz-tree-node-toggle[nzTreeNodeNoopToggle], [nzTreeNodeNoopToggle]" }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$1.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "ngmodule", type: NzTooltipModule }, { kind: "directive", type: i9.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "ngmodule", type: NzEmptyModule }, { kind: "component", type: i10.NzEmptyComponent, selector: "nz-empty", inputs: ["nzNotFoundImage", "nzNotFoundContent", "nzNotFoundFooter"], exportAs: ["nzEmpty"] }, { kind: "pipe", type: NzHighlightPipe, name: "nzHighlight" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
413
416
  }
414
417
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Tree, decorators: [{
415
418
  type: Component,
416
- args: [{ selector: 'axis-design-tree', imports: [FormsModule, NzInputModule, NzIconModule, NzTreeViewModule, NzFlexModule, NzHighlightPipe, NzButtonModule, NzTooltipModule, NzEmptyModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div nz-flex [nzVertical]=\"true\" style=\"height: 100%;\">\n <div nz-flex style=\"padding-right: 8px;\" nzGap=\"4px\" nzAlign=\"center\">\n <input style=\"flex:1;\" type=\"text\" nz-input placeholder=\"\u641C\u7D22\" nzBorderless ngModel\n (ngModelChange)=\"searchValue$.next($event)\" />\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" (click)=\"toggleExpanded()\">\n <nz-icon [nzType]=\"hasExpanded?'shrink':'arrows-alt'\" nzTheme=\"outline\" />\n </button>\n </div>\n @if (node() === null) {\n <nz-empty [nzNotFoundContent]=\"contentTpl\" [nzNotFoundFooter]=\"footerTpl\">\n <ng-template #contentTpl>\n \u6CA1\u6709\u7EC4\u4EF6\n </ng-template>\n <ng-template #footerTpl>\n <button nz-button nzType=\"dashed\" (click)=\"addRootComponent()\">\n <nz-icon nzType=\"plus\"></nz-icon>\n \u6DFB\u52A0\u7EC4\u4EF6\n </button>\n </ng-template>\n </nz-empty>\n }@else {\n <nz-tree-view nzDirectoryTree [nzTreeControl]=\"treeControl\" [nzDataSource]=\"dataSource\">\n <nz-tree-node *nzTreeNodeDef=\"let node\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle nzTreeNodeNoopToggle></nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n <nz-tree-node *nzTreeNodeDef=\"let node; when: hasChild\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle>\n <nz-icon nzType=\"caret-down\" nzTreeNodeToggleRotateIcon />\n </nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n </nz-tree-view>\n }\n</div>", styles: ["::ng-deep .highlight{color:#f50}nz-tree-view{overflow:auto;flex:1}.drop_in{outline:1px solid blue}.drop_up:after{content:\"\";position:absolute;top:-1px;width:100%;height:2px;background-color:#00f}.drop_down:after{content:\"\";position:absolute;bottom:-1px;width:100%;height:2px;background-color:#00f}nz-tree-view ::ng-deep .ant-tree-list-holder{margin-bottom:300px}\n"] }]
419
+ args: [{ selector: 'axis-design-tree', imports: [FormsModule, NzInputModule, NzIconModule, NzTreeViewModule, NzFlexModule, NzHighlightPipe, NzButtonModule, NzTooltipModule, NzEmptyModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div nz-flex [nzVertical]=\"true\" style=\"height: 100%;\">\n <div nz-flex style=\"padding-right: 8px;\" nzGap=\"4px\" nzAlign=\"center\">\n <input style=\"flex:1;\" type=\"text\" nz-input placeholder=\"\u641C\u7D22\" nzBorderless ngModel\n (ngModelChange)=\"searchValue$.next($event)\" />\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" (click)=\"toggleExpanded()\">\n <nz-icon [nzType]=\"hasExpanded?'shrink':'arrows-alt'\" nzTheme=\"outline\" />\n </button>\n </div>\n @if (node() === null) {\n <nz-empty [nzNotFoundContent]=\"contentTpl\" [nzNotFoundFooter]=\"footerTpl\">\n <ng-template #contentTpl>\n \u6CA1\u6709\u7EC4\u4EF6\n </ng-template>\n <ng-template #footerTpl>\n <button nz-button nzType=\"dashed\" (click)=\"addRootComponent()\">\n <nz-icon nzType=\"plus\"></nz-icon>\n \u6DFB\u52A0\u7EC4\u4EF6\n </button>\n </ng-template>\n </nz-empty>\n }@else {\n <nz-tree-view nzDirectoryTree [nzTreeControl]=\"treeControl\" [nzDataSource]=\"dataSource\">\n <nz-tree-node *nzTreeNodeDef=\"let node\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle nzTreeNodeNoopToggle></nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node.id)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n <nz-tree-node *nzTreeNodeDef=\"let node; when: hasChild\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle>\n <nz-icon nzType=\"caret-down\" nzTreeNodeToggleRotateIcon />\n </nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node.id)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n </nz-tree-view>\n }\n</div>", styles: ["::ng-deep .highlight{color:#f50}nz-tree-view{overflow:auto;flex:1}.drop_in{outline:1px solid blue}.drop_up:after{content:\"\";position:absolute;top:-1px;width:100%;height:2px;background-color:#00f}.drop_down:after{content:\"\";position:absolute;bottom:-1px;width:100%;height:2px;background-color:#00f}nz-tree-view ::ng-deep .ant-tree-list-holder{margin-bottom:300px}\n"] }]
417
420
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
418
421
  function filterTreeData(data, value) {
419
422
  const needsToExpanded = new Set();
@@ -647,7 +650,7 @@ class SelectService {
647
650
  element.style.outlineOffset = "1px";
648
651
  element.onclick = (e) => {
649
652
  e.stopPropagation();
650
- if (e.altKey) {
653
+ if (e.ctrlKey || e.metaKey) {
651
654
  this.toggleSelect(element, { sendEvent: true });
652
655
  }
653
656
  else {
@@ -1352,11 +1355,11 @@ class Toolbar {
1352
1355
  }
1353
1356
  }
1354
1357
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Toolbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
1355
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: Toolbar, isStandalone: true, selector: "axis-toolbar", inputs: { shortcutKeysModal: { classPropertyName: "shortcutKeysModal", publicName: "shortcutKeysModal", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { shortcutKeysModal: "shortcutKeysModalChange" }, ngImport: i0, template: "<div class=\"tools\" nz-flex nzGap=\"4px\">\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u5FEB\u6377\u952E\u8BF4\u660E\"\n (click)=\"shortcutKeysModal.set(true)\">\n <nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u7F16\u8F91\u5386\u53F2\" nz-popover\n [nzPopoverTitle]=\"historyTitle\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"historyTemp\"\n nzPopoverPlacement=\"bottom\" nzPopoverOverlayClassName=\"history-popover\">\n <nz-icon nzType=\"history\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" [nz-tooltip]=\"onlyPreview()?'\u6062\u590D':'\u653E\u5927'\"\n (click)=\"onlyPreview.set(!onlyPreview())\">\n <nz-icon [nzType]=\"onlyPreview()?'fullscreen-exit':'fullscreen'\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u91CD\u65B0\u8F7D\u5165\"\n (click)=\"design.preview.forceRender()\">\n <nz-icon nzType=\"reload\" />\n </button>\n</div>\n\n<ng-template #historyTitle>\n <div nz-flex>\n <div style=\"flex:1\">\u7F16\u8F91\u5386\u53F2</div>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"\u64A4\u9500\" (click)=\"undo()\"\n [disabled]=\"historyIndex==history.length-1\">\n <nz-icon nzType=\"undo\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"\u91CD\u505A\" (click)=\"redo()\"\n [disabled]=\"historyIndex==0\">\n <nz-icon nzType=\"redo\" nzTheme=\"outline\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #historyTemp>\n <div nz-flex nzVertical nzGap=\"6px\" style=\"max-height: 300px;overflow: auto;\">\n @for (item of history; track item.time;let i=$index) {\n <div nz-flex nzAlign=\"center\" [class.active]=\"i == historyIndex\" class=\"history-item\" (click)=\"switchHistory(i)\">\n <div style=\"width: 20px;\">\n @if (i == historyIndex) {\n <nz-icon nzType=\"aim\" nzTheme=\"outline\" />\n }\n </div>\n <div nz-flex nzVertical>\n <span>{{item.desc}}</span>\n <span style=\"font-size: 10px;color:rgba(0,0,0,0.38)\"> {{item.time | axisHowLong}}</span>\n </div>\n </div>\n }\n </div>\n</ng-template>\n\n<nz-modal [(nzVisible)]=\"shortcutKeysModal\" nzTitle=\"\u5FEB\u6377\u952E\u8BF4\u660E\" nzDraggable [nzOkText]=\"null\" nzCancelText=\"\u5173\u95ED\"\n (nzOnCancel)=\"shortcutKeysModal.set(false)\">\n <ng-container *nzModalContent>\n <nz-table nzTemplateMode nzSize=\"small\">\n <thead>\n <tr>\n <th>\u529F\u80FD</th>\n <th>\u5FEB\u6377\u952E</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>\u67E5\u770B\u5FEB\u6377\u952E\u8BF4\u660E</td>\n <td>Ctrl Meta H</td>\n </tr>\n <tr>\n <td>\u590D\u5236</td>\n <td>Ctrl C</td>\n </tr>\n <tr>\n <td>\u526A\u5207</td>\n <td>Ctrl X</td>\n </tr>\n <tr>\n <td>\u7C98\u8D34</td>\n <td>Ctrl V</td>\n </tr>\n <tr>\n <td>\u64A4\u9500</td>\n <td>Ctrl Z</td>\n </tr>\n <tr>\n <td>\u91CD\u505A</td>\n <td>Ctrl Shift Z</td>\n </tr>\n <tr>\n <td>\u9884\u89C8\u653E\u5927/\u6062\u590D</td>\n <td>Ctrl Meta C</td>\n </tr>\n <tr>\n <td>\u91CD\u65B0\u8F7D\u5165</td>\n <td>Ctrl Meta R</td>\n </tr>\n </tbody>\n </nz-table>\n </ng-container>\n</nz-modal>", styles: [".tools{position:absolute;right:20px;top:10px}::ng-deep .history-popover .ant-popover-inner-content{width:100%;padding:12px 0}.history-item{padding:0 12px;cursor:pointer}.history-item:hover{background-color:var(--ant-primary-1)}.active{color:var(--ant-primary-color);pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: NzModalModule }, { kind: "component", type: i1$2.NzModalComponent, selector: "nz-modal", inputs: ["nzMask", "nzMaskClosable", "nzCloseOnNavigation", "nzVisible", "nzClosable", "nzOkLoading", "nzOkDisabled", "nzCancelDisabled", "nzCancelLoading", "nzKeyboard", "nzNoAnimation", "nzCentered", "nzDraggable", "nzContent", "nzFooter", "nzZIndex", "nzWidth", "nzWrapClassName", "nzClassName", "nzStyle", "nzTitle", "nzCloseIcon", "nzMaskStyle", "nzBodyStyle", "nzOkText", "nzCancelText", "nzOkType", "nzOkDanger", "nzIconType", "nzModalType", "nzAutofocus", "nzOnOk", "nzOnCancel"], outputs: ["nzOnOk", "nzOnCancel", "nzAfterOpen", "nzAfterClose", "nzVisibleChange"], exportAs: ["nzModal"] }, { kind: "directive", type: i1$2.NzModalContentDirective, selector: "[nzModalContent]", exportAs: ["nzModalContent"] }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i2$2.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i2$2.NzTableCellDirective, selector: "th:not(.nz-disable-th), td:not(.nz-disable-td)" }, { kind: "directive", type: i2$2.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i2$2.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i2$2.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i2$2.NzTrDirective, selector: "tr:not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$1.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i3.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzTooltipModule }, { kind: "directive", type: i9.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "ngmodule", type: NzPopoverModule }, { kind: "directive", type: i8$1.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverTitleContext", "nzPopoverContent", "nzPopoverContentContext", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverOverlayClickable", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "pipe", type: HowLongPipe, name: "axisHowLong" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1358
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: Toolbar, isStandalone: true, selector: "axis-toolbar", inputs: { shortcutKeysModal: { classPropertyName: "shortcutKeysModal", publicName: "shortcutKeysModal", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { shortcutKeysModal: "shortcutKeysModalChange" }, ngImport: i0, template: "<div class=\"tools\" nz-flex nzGap=\"4px\">\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u5FEB\u6377\u952E\u8BF4\u660E\"\n (click)=\"shortcutKeysModal.set(true)\">\n <nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u7F16\u8F91\u5386\u53F2\" nz-popover\n [nzPopoverTitle]=\"historyTitle\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"historyTemp\"\n nzPopoverPlacement=\"bottom\" nzPopoverOverlayClassName=\"history-popover\">\n <nz-icon nzType=\"history\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" [nz-tooltip]=\"onlyPreview()?'\u6062\u590D':'\u653E\u5927'\"\n (click)=\"onlyPreview.set(!onlyPreview())\">\n <nz-icon [nzType]=\"onlyPreview()?'fullscreen-exit':'fullscreen'\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u91CD\u65B0\u8F7D\u5165\"\n (click)=\"design.preview.forceRender()\">\n <nz-icon nzType=\"reload\" />\n </button>\n</div>\n\n<ng-template #historyTitle>\n <div nz-flex>\n <div style=\"flex:1\">\u7F16\u8F91\u5386\u53F2</div>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"\u64A4\u9500\" (click)=\"undo()\"\n [disabled]=\"historyIndex==history.length-1\">\n <nz-icon nzType=\"undo\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"\u91CD\u505A\" (click)=\"redo()\"\n [disabled]=\"historyIndex==0\">\n <nz-icon nzType=\"redo\" nzTheme=\"outline\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #historyTemp>\n <div nz-flex nzVertical nzGap=\"6px\" style=\"max-height: 300px;overflow: auto;\">\n @for (item of history; track item.time;let i=$index) {\n <div nz-flex nzAlign=\"center\" [class.active]=\"i == historyIndex\" class=\"history-item\" (click)=\"switchHistory(i)\">\n <div style=\"width: 20px;\">\n @if (i == historyIndex) {\n <nz-icon nzType=\"aim\" nzTheme=\"outline\" />\n }\n </div>\n <div nz-flex nzVertical>\n <span>{{item.desc}}</span>\n <span style=\"font-size: 10px;color:rgba(0,0,0,0.38)\"> {{item.time | axisHowLong}}</span>\n </div>\n </div>\n }\n </div>\n</ng-template>\n\n<nz-modal [(nzVisible)]=\"shortcutKeysModal\" nzTitle=\"\u5FEB\u6377\u952E\u8BF4\u660E\" nzDraggable [nzOkText]=\"null\" nzCancelText=\"\u5173\u95ED\"\n (nzOnCancel)=\"shortcutKeysModal.set(false)\">\n <ng-container *nzModalContent>\n <nz-table nzTemplateMode nzSize=\"small\">\n <thead>\n <tr>\n <th>\u529F\u80FD</th>\n <th>\u5FEB\u6377\u952E</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>\u67E5\u770B\u5FEB\u6377\u952E\u8BF4\u660E</td>\n <td>Ctrl Meta H</td>\n </tr>\n <tr>\n <td>\u591A\u9009&\u53CD\u9009</td>\n <td>Ctrl \u5355\u51FB / Meta \u5355\u51FB</td>\n </tr>\n <tr>\n <td>\u590D\u5236</td>\n <td>Ctrl C</td>\n </tr>\n <tr>\n <td>\u526A\u5207</td>\n <td>Ctrl X</td>\n </tr>\n <tr>\n <td>\u7C98\u8D34</td>\n <td>Ctrl V</td>\n </tr>\n <tr>\n <td>\u64A4\u9500</td>\n <td>Ctrl Z</td>\n </tr>\n <tr>\n <td>\u91CD\u505A</td>\n <td>Ctrl Shift Z</td>\n </tr>\n <tr>\n <td>\u9884\u89C8\u653E\u5927&\u6062\u590D</td>\n <td>Ctrl Meta C</td>\n </tr>\n <tr>\n <td>\u91CD\u65B0\u8F7D\u5165</td>\n <td>Ctrl Meta R</td>\n </tr>\n </tbody>\n </nz-table>\n </ng-container>\n</nz-modal>", styles: [".tools{position:absolute;right:20px;top:10px}::ng-deep .history-popover .ant-popover-inner-content{width:100%;padding:12px 0}.history-item{padding:0 12px;cursor:pointer}.history-item:hover{background-color:var(--ant-primary-1)}.active{color:var(--ant-primary-color);pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: NzModalModule }, { kind: "component", type: i1$2.NzModalComponent, selector: "nz-modal", inputs: ["nzMask", "nzMaskClosable", "nzCloseOnNavigation", "nzVisible", "nzClosable", "nzOkLoading", "nzOkDisabled", "nzCancelDisabled", "nzCancelLoading", "nzKeyboard", "nzNoAnimation", "nzCentered", "nzDraggable", "nzContent", "nzFooter", "nzZIndex", "nzWidth", "nzWrapClassName", "nzClassName", "nzStyle", "nzTitle", "nzCloseIcon", "nzMaskStyle", "nzBodyStyle", "nzOkText", "nzCancelText", "nzOkType", "nzOkDanger", "nzIconType", "nzModalType", "nzAutofocus", "nzOnOk", "nzOnCancel"], outputs: ["nzOnOk", "nzOnCancel", "nzAfterOpen", "nzAfterClose", "nzVisibleChange"], exportAs: ["nzModal"] }, { kind: "directive", type: i1$2.NzModalContentDirective, selector: "[nzModalContent]", exportAs: ["nzModalContent"] }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i2$2.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i2$2.NzTableCellDirective, selector: "th:not(.nz-disable-th), td:not(.nz-disable-td)" }, { kind: "directive", type: i2$2.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i2$2.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i2$2.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i2$2.NzTrDirective, selector: "tr:not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "ngmodule", type: NzFlexModule }, { kind: "directive", type: i3$1.NzFlexDirective, selector: "[nz-flex],nz-flex", inputs: ["nzVertical", "nzJustify", "nzAlign", "nzGap", "nzWrap", "nzFlex"], exportAs: ["nzFlex"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i3.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzTooltipModule }, { kind: "directive", type: i9.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "ngmodule", type: NzPopoverModule }, { kind: "directive", type: i8$1.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverTitleContext", "nzPopoverContent", "nzPopoverContentContext", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverOverlayClickable", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "pipe", type: HowLongPipe, name: "axisHowLong" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1356
1359
  }
1357
1360
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Toolbar, decorators: [{
1358
1361
  type: Component,
1359
- args: [{ selector: 'axis-toolbar', imports: [NzModalModule, NzTableModule, NzFlexModule, NzIconModule, NzTooltipModule, NzButtonModule, NzPopoverModule, HowLongPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tools\" nz-flex nzGap=\"4px\">\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u5FEB\u6377\u952E\u8BF4\u660E\"\n (click)=\"shortcutKeysModal.set(true)\">\n <nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u7F16\u8F91\u5386\u53F2\" nz-popover\n [nzPopoverTitle]=\"historyTitle\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"historyTemp\"\n nzPopoverPlacement=\"bottom\" nzPopoverOverlayClassName=\"history-popover\">\n <nz-icon nzType=\"history\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" [nz-tooltip]=\"onlyPreview()?'\u6062\u590D':'\u653E\u5927'\"\n (click)=\"onlyPreview.set(!onlyPreview())\">\n <nz-icon [nzType]=\"onlyPreview()?'fullscreen-exit':'fullscreen'\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u91CD\u65B0\u8F7D\u5165\"\n (click)=\"design.preview.forceRender()\">\n <nz-icon nzType=\"reload\" />\n </button>\n</div>\n\n<ng-template #historyTitle>\n <div nz-flex>\n <div style=\"flex:1\">\u7F16\u8F91\u5386\u53F2</div>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"\u64A4\u9500\" (click)=\"undo()\"\n [disabled]=\"historyIndex==history.length-1\">\n <nz-icon nzType=\"undo\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"\u91CD\u505A\" (click)=\"redo()\"\n [disabled]=\"historyIndex==0\">\n <nz-icon nzType=\"redo\" nzTheme=\"outline\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #historyTemp>\n <div nz-flex nzVertical nzGap=\"6px\" style=\"max-height: 300px;overflow: auto;\">\n @for (item of history; track item.time;let i=$index) {\n <div nz-flex nzAlign=\"center\" [class.active]=\"i == historyIndex\" class=\"history-item\" (click)=\"switchHistory(i)\">\n <div style=\"width: 20px;\">\n @if (i == historyIndex) {\n <nz-icon nzType=\"aim\" nzTheme=\"outline\" />\n }\n </div>\n <div nz-flex nzVertical>\n <span>{{item.desc}}</span>\n <span style=\"font-size: 10px;color:rgba(0,0,0,0.38)\"> {{item.time | axisHowLong}}</span>\n </div>\n </div>\n }\n </div>\n</ng-template>\n\n<nz-modal [(nzVisible)]=\"shortcutKeysModal\" nzTitle=\"\u5FEB\u6377\u952E\u8BF4\u660E\" nzDraggable [nzOkText]=\"null\" nzCancelText=\"\u5173\u95ED\"\n (nzOnCancel)=\"shortcutKeysModal.set(false)\">\n <ng-container *nzModalContent>\n <nz-table nzTemplateMode nzSize=\"small\">\n <thead>\n <tr>\n <th>\u529F\u80FD</th>\n <th>\u5FEB\u6377\u952E</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>\u67E5\u770B\u5FEB\u6377\u952E\u8BF4\u660E</td>\n <td>Ctrl Meta H</td>\n </tr>\n <tr>\n <td>\u590D\u5236</td>\n <td>Ctrl C</td>\n </tr>\n <tr>\n <td>\u526A\u5207</td>\n <td>Ctrl X</td>\n </tr>\n <tr>\n <td>\u7C98\u8D34</td>\n <td>Ctrl V</td>\n </tr>\n <tr>\n <td>\u64A4\u9500</td>\n <td>Ctrl Z</td>\n </tr>\n <tr>\n <td>\u91CD\u505A</td>\n <td>Ctrl Shift Z</td>\n </tr>\n <tr>\n <td>\u9884\u89C8\u653E\u5927/\u6062\u590D</td>\n <td>Ctrl Meta C</td>\n </tr>\n <tr>\n <td>\u91CD\u65B0\u8F7D\u5165</td>\n <td>Ctrl Meta R</td>\n </tr>\n </tbody>\n </nz-table>\n </ng-container>\n</nz-modal>", styles: [".tools{position:absolute;right:20px;top:10px}::ng-deep .history-popover .ant-popover-inner-content{width:100%;padding:12px 0}.history-item{padding:0 12px;cursor:pointer}.history-item:hover{background-color:var(--ant-primary-1)}.active{color:var(--ant-primary-color);pointer-events:none}\n"] }]
1362
+ args: [{ selector: 'axis-toolbar', imports: [NzModalModule, NzTableModule, NzFlexModule, NzIconModule, NzTooltipModule, NzButtonModule, NzPopoverModule, HowLongPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tools\" nz-flex nzGap=\"4px\">\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u5FEB\u6377\u952E\u8BF4\u660E\"\n (click)=\"shortcutKeysModal.set(true)\">\n <nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u7F16\u8F91\u5386\u53F2\" nz-popover\n [nzPopoverTitle]=\"historyTitle\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"historyTemp\"\n nzPopoverPlacement=\"bottom\" nzPopoverOverlayClassName=\"history-popover\">\n <nz-icon nzType=\"history\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" [nz-tooltip]=\"onlyPreview()?'\u6062\u590D':'\u653E\u5927'\"\n (click)=\"onlyPreview.set(!onlyPreview())\">\n <nz-icon [nzType]=\"onlyPreview()?'fullscreen-exit':'fullscreen'\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"\u91CD\u65B0\u8F7D\u5165\"\n (click)=\"design.preview.forceRender()\">\n <nz-icon nzType=\"reload\" />\n </button>\n</div>\n\n<ng-template #historyTitle>\n <div nz-flex>\n <div style=\"flex:1\">\u7F16\u8F91\u5386\u53F2</div>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"\u64A4\u9500\" (click)=\"undo()\"\n [disabled]=\"historyIndex==history.length-1\">\n <nz-icon nzType=\"undo\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"\u91CD\u505A\" (click)=\"redo()\"\n [disabled]=\"historyIndex==0\">\n <nz-icon nzType=\"redo\" nzTheme=\"outline\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #historyTemp>\n <div nz-flex nzVertical nzGap=\"6px\" style=\"max-height: 300px;overflow: auto;\">\n @for (item of history; track item.time;let i=$index) {\n <div nz-flex nzAlign=\"center\" [class.active]=\"i == historyIndex\" class=\"history-item\" (click)=\"switchHistory(i)\">\n <div style=\"width: 20px;\">\n @if (i == historyIndex) {\n <nz-icon nzType=\"aim\" nzTheme=\"outline\" />\n }\n </div>\n <div nz-flex nzVertical>\n <span>{{item.desc}}</span>\n <span style=\"font-size: 10px;color:rgba(0,0,0,0.38)\"> {{item.time | axisHowLong}}</span>\n </div>\n </div>\n }\n </div>\n</ng-template>\n\n<nz-modal [(nzVisible)]=\"shortcutKeysModal\" nzTitle=\"\u5FEB\u6377\u952E\u8BF4\u660E\" nzDraggable [nzOkText]=\"null\" nzCancelText=\"\u5173\u95ED\"\n (nzOnCancel)=\"shortcutKeysModal.set(false)\">\n <ng-container *nzModalContent>\n <nz-table nzTemplateMode nzSize=\"small\">\n <thead>\n <tr>\n <th>\u529F\u80FD</th>\n <th>\u5FEB\u6377\u952E</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>\u67E5\u770B\u5FEB\u6377\u952E\u8BF4\u660E</td>\n <td>Ctrl Meta H</td>\n </tr>\n <tr>\n <td>\u591A\u9009&\u53CD\u9009</td>\n <td>Ctrl \u5355\u51FB / Meta \u5355\u51FB</td>\n </tr>\n <tr>\n <td>\u590D\u5236</td>\n <td>Ctrl C</td>\n </tr>\n <tr>\n <td>\u526A\u5207</td>\n <td>Ctrl X</td>\n </tr>\n <tr>\n <td>\u7C98\u8D34</td>\n <td>Ctrl V</td>\n </tr>\n <tr>\n <td>\u64A4\u9500</td>\n <td>Ctrl Z</td>\n </tr>\n <tr>\n <td>\u91CD\u505A</td>\n <td>Ctrl Shift Z</td>\n </tr>\n <tr>\n <td>\u9884\u89C8\u653E\u5927&\u6062\u590D</td>\n <td>Ctrl Meta C</td>\n </tr>\n <tr>\n <td>\u91CD\u65B0\u8F7D\u5165</td>\n <td>Ctrl Meta R</td>\n </tr>\n </tbody>\n </nz-table>\n </ng-container>\n</nz-modal>", styles: [".tools{position:absolute;right:20px;top:10px}::ng-deep .history-popover .ant-popover-inner-content{width:100%;padding:12px 0}.history-item{padding:0 12px;cursor:pointer}.history-item:hover{background-color:var(--ant-primary-1)}.active{color:var(--ant-primary-color);pointer-events:none}\n"] }]
1360
1363
  }] });
1361
1364
 
1362
1365
  class Design extends ValueAccess {
@@ -1389,6 +1392,7 @@ class Design extends ValueAccess {
1389
1392
  chooseComponentVisible = model(false, ...(ngDevMode ? [{ debugName: "chooseComponentVisible" }] : []));
1390
1393
  chooseComponentSubject = new Subject();
1391
1394
  chooseComponentTags = signal([], ...(ngDevMode ? [{ debugName: "chooseComponentTags" }] : []));
1395
+ refreshScopeInfosSubject = new Subject();
1392
1396
  cacheSized = [300, 300];
1393
1397
  setting;
1394
1398
  settingRef;
@@ -1522,6 +1526,7 @@ class Design extends ValueAccess {
1522
1526
  this.loadSetting(e.nextNodeId);
1523
1527
  }
1524
1528
  }
1529
+ this.refreshScopeInfosSubject.next(undefined);
1525
1530
  });
1526
1531
  this.onChange?.(this.value());
1527
1532
  if (putHistory) {
@@ -1600,6 +1605,7 @@ class Design extends ValueAccess {
1600
1605
  this.settingOptionsNodeId = nodeId;
1601
1606
  this.settingOptionsStr.set(JSON.stringify(newNode.options, null, " "));
1602
1607
  this.settingRef?.instance.writeValue(newNode.options);
1608
+ this.refreshScopeInfosSubject.next(undefined);
1603
1609
  return;
1604
1610
  }
1605
1611
  }
@@ -1615,7 +1621,8 @@ class Design extends ValueAccess {
1615
1621
  const injector = Injector.create({
1616
1622
  providers: [
1617
1623
  { provide: AXIS_DESIGN_CAN_LOOP_TOKEN, useValue: optionsNode.canLoop },
1618
- { provide: AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, useValue: this.buildScopeInfosGetter(optionsNode) },
1624
+ { provide: AXIS_DESIGN_SCOPE_INFOS_REFRESH_TOKEN, useValue: this.refreshScopeInfosSubject },
1625
+ { provide: AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, useValue: this.buildScopeInfosGetter() },
1619
1626
  { provide: AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN, useValue: this.buildComponentInfoForSetting(optionsNode) },
1620
1627
  { provide: AXIS_DESIGN_COMPONENT_REF_FOR_SETTING_TOKEN, useFactory: () => this.buildComponentRefForSetting(optionsNode) },
1621
1628
  { provide: AXIS_DESIGN_COMPONENT_REF_GETTER_TOKEN, useValue: (nodeId) => this.preview.getComponentRef(nodeId) },
@@ -1633,10 +1640,10 @@ class Design extends ValueAccess {
1633
1640
  this.resetSetting();
1634
1641
  }
1635
1642
  }
1636
- buildScopeInfosGetter(optionsNode) {
1637
- const _scopeId = optionsNode.scopeId;
1643
+ buildScopeInfosGetter() {
1638
1644
  return (scopeId) => {
1639
- scopeId ??= _scopeId;
1645
+ const node = this.optionsNodes.get(this.settingOptionsNodeId);
1646
+ scopeId ??= node?.scopeId;
1640
1647
  if (scopeId) {
1641
1648
  if (!this.scopInfoSubjects.has(scopeId)) {
1642
1649
  this.scopInfoSubjects.set(scopeId, this.buildScopeInfoSubject(scopeId));
@@ -1711,6 +1718,7 @@ class Design extends ValueAccess {
1711
1718
  onContextMenu(e, nodeId) {
1712
1719
  const node = this.optionsNodes.get(nodeId);
1713
1720
  if (node?.contextMenu) {
1721
+ this.tree.onNodeClick(e, nodeId);
1714
1722
  const parent = node.isRoot ? undefined : this.optionsNodes.get(node.parentId);
1715
1723
  const injector = Injector.create({
1716
1724
  providers: [