@univerjs/sheets-formula 0.1.5 → 0.1.6

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.
package/lib/index.css CHANGED
@@ -1 +1 @@
1
- .univer-formula-help-function{user-select:none;box-sizing:border-box;width:250px;margin:0;line-height:20px;list-style:none;background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base)}.univer-formula-help-function-title{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:var(--padding-base) var(--padding-lg);font-size:var(--font-size-xxs);font-weight:500;color:rgb(var(--text-color));overflow-wrap:anywhere;border-bottom:1px solid rgb(var(--border-color))}.univer-formula-help-function-title-icons{display:flex}.univer-formula-help-function-title-icon{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:var(--margin-xs);padding:0;font-size:var(--font-size-xs);color:rgb(var(--text-color-secondary));background-color:transparent;border:none;border-radius:var(--border-radius-base);outline:none;transition:background-color .2s}.univer-formula-help-function-title-icon:hover{background-color:rgb(var(--bg-color-hover))}.univer-formula-help-function-content{overflow-y:auto;box-sizing:border-box;max-height:350px;padding:0 var(--padding-lg) var(--padding-base) var(--padding-lg)}.univer-formula-help-function-content-inner{margin-top:var(--margin-sm)}.univer-formula-help-function-content-params{margin:var(--margin-xs) 0}.univer-formula-help-function-content-params-title{margin-bottom:var(--margin-xs);font-size:var(--font-size-xs);font-weight:500;color:rgb(var(--text-color))}.univer-formula-help-function-content-params-detail{font-size:var(--font-size-xxs);font-weight:400;white-space:pre-wrap;color:rgb(var(--text-color-secondary))}.univer-formula-help-function-active{color:rgb(var(--primary-color))}.univer-formula-help-decorator{cursor:pointer;position:fixed;z-index:10;display:flex;align-items:center;justify-content:center;padding:var(--padding-xs)}.univer-formula-help-param,.univer-formula-help-param-prefix,.univer-formula-help-param-item,.univer-formula-help-param-active{z-index:1}.univer-formula-search-function{overflow-y:auto;box-sizing:border-box;width:250px;max-height:400px;margin:0;padding:var(--padding-sm);line-height:20px;list-style:none;background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base)}.univer-formula-search-function-item{cursor:pointer;box-sizing:border-box;padding:var(--padding-xs) var(--padding-sm);color:rgb(var(--text-color));border-radius:var(--border-radius-base);transition:background .2s}.univer-formula-search-function-item-name{font-size:var(--font-size-xxs)}.univer-formula-search-function-item-name-light{color:rgb(var(--error-color))}.univer-formula-search-function-item-desc{display:block;font-size:var(--font-size-xxs);color:rgb(var(--grey-500))}.univer-formula-search-function-item-active{background-color:rgb(var(--bg-color-hover))}.univer-formula-more-functions{display:flex;flex-direction:column;justify-content:space-between;height:100%;line-height:20px}.univer-formula-more-functions-operation{display:flex;justify-content:flex-end}.univer-formula-more-functions-operation>button{margin:0 0 var(--margin-lg) var(--margin-base)}.univer-formula-function-params{margin-bottom:var(--margin-xs);font-size:var(--font-size-xxs)}.univer-formula-function-params-title{font-weight:500;color:rgb(var(--text-color-secondary))}.univer-formula-function-params-detail{font-weight:400;color:rgb(var(--text-color))}.univer-formula-input-params-list{overflow-y:auto;height:364px}.univer-formula-input-params-list-item-name{font-size:var(--font-size-sm)}.univer-formula-input-params-list-item-selector{margin:var(--margin-xxs) 0 var(--margin-xs) 0}.univer-formula-select-function-select{display:flex;gap:10%;align-items:center;justify-content:space-between}.univer-formula-select-function-result{user-select:none;overflow-y:auto;box-sizing:border-box;width:100%;height:364px;margin:0;margin-top:var(--margin-xs);padding:var(--padding-base);list-style:none;border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base);outline:none}.univer-formula-select-function-result-item{cursor:pointer;position:relative;box-sizing:border-box;padding:var(--padding-xs) 28px;font-size:var(--font-size-xs);color:rgb(var(--text-color));border-radius:var(--border-radius-base);transition:background .2s}.univer-formula-select-function-result-item>span{display:block}.univer-formula-select-function-result-item-name-light{color:rgb(var(--error-color))}.univer-formula-select-function-result-item-selected{position:absolute;top:50%;left:6px;transform:translateY(-50%);display:inline-flex;font-size:var(--font-size-lg);color:rgb(var(--success-color))}.univer-formula-select-function-result-item-active{background-color:rgb(var(--bg-color-hover))}.univer-formula-select-function-content{overflow-y:auto;max-height:307px;margin:var(--margin-xs) 0}
1
+ .univer-formula-help-function{user-select:none;box-sizing:border-box;width:250px;margin:0;line-height:20px;list-style:none;background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base)}.univer-formula-help-function-title{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:var(--padding-base) var(--padding-lg);font-size:var(--font-size-xxs);font-weight:500;color:rgb(var(--text-color));overflow-wrap:anywhere;border-bottom:1px solid rgb(var(--border-color))}.univer-formula-help-function-title-icons{display:flex}.univer-formula-help-function-title-icon{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:var(--margin-xs);padding:0;font-size:var(--font-size-xs);color:rgb(var(--text-color-secondary));background-color:transparent;border:none;border-radius:var(--border-radius-base);outline:none;transition:background-color .2s}.univer-formula-help-function-title-icon:hover{background-color:rgb(var(--bg-color-hover))}.univer-formula-help-function-content{overflow-y:auto;box-sizing:border-box;max-height:350px;padding:0 var(--padding-lg) var(--padding-base) var(--padding-lg)}.univer-formula-help-function-content-inner{margin-top:var(--margin-sm)}.univer-formula-help-function-content-params{margin:var(--margin-xs) 0}.univer-formula-help-function-content-params-title{margin-bottom:var(--margin-xs);font-size:var(--font-size-xs);font-weight:500;color:rgb(var(--text-color))}.univer-formula-help-function-content-params-detail{font-size:var(--font-size-xxs);font-weight:400;white-space:pre-wrap;color:rgb(var(--text-color-secondary))}.univer-formula-help-function-active{color:rgb(var(--primary-color))}.univer-formula-help-decorator{cursor:pointer;position:fixed;z-index:10;display:flex;align-items:center;justify-content:center;padding:var(--padding-xs)}.univer-formula-help-param,.univer-formula-help-param-prefix,.univer-formula-help-param-item,.univer-formula-help-param-active{z-index:1}.univer-formula-search-function{box-sizing:border-box;width:250px;max-height:400px;margin:0;padding:var(--padding-sm);line-height:20px;list-style:none;background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);outline:none;box-shadow:var(--box-shadow-base);overflow:hidden;overflow-y:auto}.univer-formula-search-function-item{cursor:pointer;box-sizing:border-box;padding:var(--padding-xs) var(--padding-sm);color:rgb(var(--text-color));border-radius:var(--border-radius-base);transition:background .2s}.univer-formula-search-function-item-name{font-size:var(--font-size-xxs)}.univer-formula-search-function-item-name-light{color:rgb(var(--error-color))}.univer-formula-search-function-item-desc{display:block;font-size:var(--font-size-xxs);color:rgb(var(--grey-500))}.univer-formula-search-function-item-active{background-color:rgb(var(--bg-color-hover))}.univer-formula-more-functions{display:flex;flex-direction:column;justify-content:space-between;height:100%;line-height:20px}.univer-formula-more-functions-operation{display:flex;justify-content:flex-end}.univer-formula-more-functions-operation>button{margin:0 0 var(--margin-lg) var(--margin-base)}.univer-formula-function-params{margin-bottom:var(--margin-xs);font-size:var(--font-size-xxs)}.univer-formula-function-params-title{font-weight:500;color:rgb(var(--text-color-secondary))}.univer-formula-function-params-detail{font-weight:400;color:rgb(var(--text-color))}.univer-formula-input-params-list{overflow-y:auto;height:364px}.univer-formula-input-params-list-item-name{font-size:var(--font-size-sm)}.univer-formula-input-params-list-item-selector{margin:var(--margin-xxs) 0 var(--margin-xs) 0}.univer-formula-select-function-select{display:flex;gap:10%;align-items:center;justify-content:space-between}.univer-formula-select-function-result{user-select:none;overflow-y:auto;box-sizing:border-box;width:100%;height:364px;margin:0;margin-top:var(--margin-xs);padding:var(--padding-base);list-style:none;border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base);outline:none}.univer-formula-select-function-result-item{cursor:pointer;position:relative;box-sizing:border-box;padding:var(--padding-xs) 28px;font-size:var(--font-size-xs);color:rgb(var(--text-color));border-radius:var(--border-radius-base);transition:background .2s}.univer-formula-select-function-result-item>span{display:block}.univer-formula-select-function-result-item-name-light{color:rgb(var(--error-color))}.univer-formula-select-function-result-item-selected{position:absolute;top:50%;left:6px;transform:translateY(-50%);display:inline-flex;font-size:var(--font-size-lg);color:rgb(var(--success-color))}.univer-formula-select-function-result-item-active{background-color:rgb(var(--bg-color-hover))}.univer-formula-select-function-content{overflow-y:auto;max-height:307px;margin:var(--margin-xs) 0}
@@ -1,13 +1,15 @@
1
- import { FormulaDataModel, IActiveDirtyManagerService } from '@univerjs/engine-formula';
1
+ import { FormulaDataModel, IActiveDirtyManagerService, IDefinedNamesService } from '@univerjs/engine-formula';
2
2
  import { Disposable, IUniverInstanceService } from '@univerjs/core';
3
3
 
4
4
  export declare class ActiveDirtyController extends Disposable {
5
5
  private readonly _activeDirtyManagerService;
6
6
  private readonly _currentUniverService;
7
7
  private readonly _formulaDataModel;
8
- constructor(_activeDirtyManagerService: IActiveDirtyManagerService, _currentUniverService: IUniverInstanceService, _formulaDataModel: FormulaDataModel);
8
+ private readonly _definedNamesService;
9
+ constructor(_activeDirtyManagerService: IActiveDirtyManagerService, _currentUniverService: IUniverInstanceService, _formulaDataModel: FormulaDataModel, _definedNamesService: IDefinedNamesService);
9
10
  private _initialize;
10
11
  private _initialConversion;
12
+ private _getDefinedNameMutation;
11
13
  private _getSetRangeValuesMutationDirtyRange;
12
14
  private _getMoveRangeMutationDirtyRange;
13
15
  private _getMoveRowsMutationDirtyRange;
@@ -0,0 +1,27 @@
1
+ import { IDescriptionService } from '../services/description.service';
2
+ import { IDefinedNamesService } from '@univerjs/engine-formula';
3
+ import { Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
4
+
5
+ export declare const SCOPE_WORKBOOK_VALUE = "AllDefaultWorkbook";
6
+ /**
7
+ * header highlight
8
+ * column menu: show, hover and mousedown event
9
+ */
10
+ export declare class DefinedNameController extends Disposable {
11
+ private readonly _descriptionService;
12
+ private readonly _definedNamesService;
13
+ private readonly _univerInstanceService;
14
+ private readonly _commandService;
15
+ private _preUnitId;
16
+ constructor(_descriptionService: IDescriptionService, _definedNamesService: IDefinedNamesService, _univerInstanceService: IUniverInstanceService, _commandService: ICommandService);
17
+ private _initialize;
18
+ private _descriptionListener;
19
+ private _changeUnitListener;
20
+ private _changeSheetListener;
21
+ private _registerDescription;
22
+ private _unregisterDescription;
23
+ private _unRegisterDescriptions;
24
+ private _getUnitIdAndSheetId;
25
+ private _registerDescriptions;
26
+ private _unregisterDescriptionsForNotInSheetId;
27
+ }
@@ -14,6 +14,7 @@ export declare class FormulaClipboardController extends Disposable {
14
14
  private _registerClipboardHook;
15
15
  private _pasteFormulaHook;
16
16
  private _pasteWithFormulaHook;
17
+ private _onPasteCells;
17
18
  }
18
19
  export declare function getSetCellFormulaMutations(unitId: string, subUnitId: string, range: IRange, matrix: ObjectMatrix<ICellDataWithSpanInfo>, accessor: IAccessor, copyInfo: {
19
20
  copyType: COPY_TYPE;
@@ -21,3 +21,5 @@ export { FormulaCustomFunctionService, IFormulaCustomFunctionService, } from './
21
21
  export type { IRegisterFunctionParams, IUnregisterFunctionParams } from './services/register-function.service';
22
22
  export { RegisterFunctionService } from './services/register-function.service';
23
23
  export { IRegisterFunctionService } from './services/register-function.service';
24
+ export { FormulaRefRangeService } from './services/formula-ref-range.service';
25
+ export { SPECIAL_PASTE_FORMULA } from './commands/commands/formula-clipboard.command';
@@ -45,6 +45,21 @@ export interface IDescriptionService {
45
45
  * @param functionList
46
46
  */
47
47
  unregisterDescriptions(functionNames: string[]): void;
48
+ /**
49
+ * check if has description
50
+ * @param name
51
+ */
52
+ hasDescription(name: string): boolean;
53
+ /**
54
+ * check if has defined name description
55
+ * @param name
56
+ */
57
+ hasDefinedNameDescription(name: string): boolean;
58
+ /**
59
+ * check if is formula defined name
60
+ * @param name
61
+ */
62
+ isFormulaDefinedName(name: string): boolean;
48
63
  }
49
64
  export declare const IDescriptionService: import('@wendellhu/redi').IdentifierDecorator<IDescriptionService>;
50
65
  export declare class DescriptionService implements IDescriptionService, IDisposable {
@@ -62,6 +77,9 @@ export declare class DescriptionService implements IDescriptionService, IDisposa
62
77
  getSearchListByType(type: number): ISearchItem[];
63
78
  registerDescriptions(description: IFunctionInfo[]): void;
64
79
  unregisterDescriptions(functionNames: string[]): void;
80
+ hasDescription(name: string): boolean;
81
+ hasDefinedNameDescription(name: string): boolean;
82
+ isFormulaDefinedName(name: string): boolean;
65
83
  private _initialize;
66
84
  private _initDescription;
67
85
  private _registerDescriptions;
@@ -0,0 +1,17 @@
1
+ import { IDisposable } from '@wendellhu/redi';
2
+ import { RefRangeService } from '@univerjs/sheets';
3
+ import { LexerTreeBuilder } from '@univerjs/engine-formula';
4
+ import { IMutationInfo, Disposable, IUniverInstanceService } from '@univerjs/core';
5
+
6
+ export type FormulaChangeMap = Record<string, Record<string, Record<string, string>>>;
7
+ export type FormulaChangeCallback = (formulaString: string) => {
8
+ redos: IMutationInfo[];
9
+ undos: IMutationInfo[];
10
+ };
11
+ export declare class FormulaRefRangeService extends Disposable {
12
+ private readonly _refRangeService;
13
+ private readonly _lexerTreeBuilder;
14
+ private readonly _univerInstanceService;
15
+ constructor(_refRangeService: RefRangeService, _lexerTreeBuilder: LexerTreeBuilder, _univerInstanceService: IUniverInstanceService);
16
+ registerFormula(formula: string, callback: FormulaChangeCallback): IDisposable;
17
+ }