ngx-register-base 1.2.1 → 1.2.3
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/README.md +50 -2
- package/esm2022/lib/components/filters/index.mjs +1 -3
- package/esm2022/lib/components/filters/register-table-filter.component.mjs +3 -3
- package/esm2022/lib/components/inputs/param-text/param-text.component.mjs +4 -9
- package/esm2022/lib/components/inputs/param-textarea/param-textarea.component.mjs +4 -8
- package/esm2022/lib/core/param/index.mjs +3 -1
- package/esm2022/lib/core/param/param-text-base.mjs +25 -0
- package/esm2022/lib/core/param/param.tokens.mjs +4 -0
- package/fesm2022/ngx-register-base.mjs +429 -416
- package/fesm2022/ngx-register-base.mjs.map +1 -1
- package/lib/components/filters/index.d.ts +0 -2
- package/lib/components/inputs/param-text/param-text.component.d.ts +3 -8
- package/lib/components/inputs/param-textarea/param-textarea.component.d.ts +3 -7
- package/lib/core/param/index.d.ts +2 -0
- package/lib/core/param/param-text-base.d.ts +15 -0
- package/lib/core/param/param.tokens.d.ts +3 -0
- package/package.json +1 -1
- package/schematics/migration-collection.json +5 -0
- package/schematics/ng-update/replace-menu-state-token/index.d.ts +2 -0
- package/schematics/ng-update/replace-menu-state-token/index.js +29 -0
- package/schematics/ng-update/replace-menu-state-token/index.js.map +1 -0
- package/schematics/ng-update/update-prefix/index.js +4 -6
- package/schematics/ng-update/update-prefix/index.js.map +1 -1
- package/schematics/utils/utils.d.ts +15 -0
- package/schematics/utils/utils.js +25 -0
- package/schematics/utils/utils.js.map +1 -0
- package/esm2022/lib/components/filters/register-table-filter.consts.mjs +0 -3
- package/esm2022/lib/components/filters/register-table-filter.types.mjs +0 -2
- package/lib/components/filters/register-table-filter.consts.d.ts +0 -3
- package/lib/components/filters/register-table-filter.types.d.ts +0 -8
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { ParamBase } from '../../../core/param/param-base';
|
|
2
1
|
import { MaskitoOptions } from '@maskito/core';
|
|
2
|
+
import { ParamTextBase } from '../../../core/param';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class ParamTextComponent extends
|
|
5
|
-
placeholder: import("@angular/core").InputSignal<string>;
|
|
6
|
-
buildShowedValue: import("@angular/core").InputSignal<(value: string | null) => string>;
|
|
7
|
-
stringifyText: import("@angular/core").InputSignal<(value: string) => string>;
|
|
4
|
+
export declare class ParamTextComponent extends ParamTextBase {
|
|
8
5
|
maskOptions: import("@angular/core").InputSignal<MaskitoOptions | null>;
|
|
9
6
|
/** сообщение об ошибке для текстового поля */
|
|
10
7
|
errorMessage: import("@angular/core").InputSignal<string>;
|
|
11
|
-
/** Максимальное кол-во символов */
|
|
12
|
-
maxLength: import("@angular/core").InputSignal<number>;
|
|
13
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<ParamTextComponent, never>;
|
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ParamTextComponent, "sproc-param-text", never, { "
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ParamTextComponent, "sproc-param-text", never, { "maskOptions": { "alias": "maskOptions"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
15
10
|
}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ParamTextBase } from '../../../core/param';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class ParamTextareaComponent extends
|
|
4
|
-
placeholder: import("@angular/core").InputSignal<string>;
|
|
5
|
-
buildShowedValue: import("@angular/core").InputSignal<(value: string | null) => string>;
|
|
3
|
+
export declare class ParamTextareaComponent extends ParamTextBase {
|
|
6
4
|
/** Минимальное кол-во строк в инпуте */
|
|
7
5
|
min: import("@angular/core").InputSignal<number>;
|
|
8
6
|
/** Максимальное кол-во строк в инпуте */
|
|
9
7
|
max: import("@angular/core").InputSignal<number>;
|
|
10
|
-
/** Максимальное кол-во символов */
|
|
11
|
-
maxLength: import("@angular/core").InputSignal<number>;
|
|
12
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<ParamTextareaComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ParamTextareaComponent, "sproc-param-textarea", never, { "
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ParamTextareaComponent, "sproc-param-textarea", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
14
10
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ParamBase } from './param-base';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare abstract class ParamTextBase extends ParamBase<string | null, string | null> {
|
|
4
|
+
private readonly _initMaxLength;
|
|
5
|
+
placeholder: import("@angular/core").InputSignal<string>;
|
|
6
|
+
buildShowedValue: import("@angular/core").InputSignal<(value: string | null) => string>;
|
|
7
|
+
/**
|
|
8
|
+
* Максимальное кол-во символов
|
|
9
|
+
*
|
|
10
|
+
* @default 1000
|
|
11
|
+
* */
|
|
12
|
+
maxLength: import("@angular/core").InputSignal<number>;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ParamTextBase, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ParamTextBase, never, never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "buildShowedValue": { "alias": "buildShowedValue"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
15
|
+
}
|
package/package.json
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
"version": "1.0.0",
|
|
6
6
|
"factory": "./ng-update/update-prefix/index#updatePrefix",
|
|
7
7
|
"description": "Replace sma- prefix with sproc-"
|
|
8
|
+
},
|
|
9
|
+
"replace-menu-state-token": {
|
|
10
|
+
"version": "1.2.3",
|
|
11
|
+
"factory": "./ng-update/replace-menu-state-token/index#replaceMenuStateToken",
|
|
12
|
+
"description": "Replace MENU_STATE_SERVICE token with PAGE_MENU_STATE"
|
|
8
13
|
}
|
|
9
14
|
}
|
|
10
15
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaceMenuStateToken = replaceMenuStateToken;
|
|
4
|
+
const utils_1 = require("../../utils/utils");
|
|
5
|
+
function replaceMenuStateToken() {
|
|
6
|
+
return (tree, context) => {
|
|
7
|
+
const tokenRegex = /\bMENU_STATE_SERVICE\b/g;
|
|
8
|
+
const newToken = 'PAGE_MENU_STATE';
|
|
9
|
+
tree.visit((filePath) => {
|
|
10
|
+
if ((0, utils_1.shouldSkipFile)(filePath) || !(0, utils_1.hasFileExtension)(filePath, ['.ts'])) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const buffer = tree.read(filePath);
|
|
14
|
+
if (!buffer) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const content = buffer.toString('utf-8');
|
|
18
|
+
if (tokenRegex.test(content)) {
|
|
19
|
+
const updatedContent = content.replace(tokenRegex, newToken);
|
|
20
|
+
if (content !== updatedContent) {
|
|
21
|
+
tree.overwrite(filePath, updatedContent);
|
|
22
|
+
context.logger.info(`Updated token in: ${filePath}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return tree;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/ngx-register-base/schematics/ng-update/replace-menu-state-token/index.ts"],"names":[],"mappings":";;AAGA,sDA6BC;AA/BD,6CAAqE;AAErE,SAAgB,qBAAqB;IACnC,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,UAAU,GAAG,yBAAyB,CAAC;QAC7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QAEnC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtB,IAAI,IAAA,sBAAc,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,wBAAgB,EAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEzC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAE7D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBACzC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updatePrefix = updatePrefix;
|
|
4
|
+
const utils_1 = require("../../utils/utils");
|
|
4
5
|
function updatePrefix() {
|
|
5
6
|
return (tree, _context) => {
|
|
6
7
|
tree.visit((filePath) => {
|
|
7
|
-
if (
|
|
8
|
-
filePath.includes('/dist/') ||
|
|
9
|
-
filePath.includes('/.angular/') ||
|
|
10
|
-
filePath.includes('/.git/')) {
|
|
8
|
+
if ((0, utils_1.shouldSkipFile)(filePath)) {
|
|
11
9
|
return;
|
|
12
10
|
}
|
|
13
11
|
const contentBuffer = tree.read(filePath);
|
|
@@ -15,14 +13,14 @@ function updatePrefix() {
|
|
|
15
13
|
return;
|
|
16
14
|
}
|
|
17
15
|
const content = contentBuffer.toString('utf-8');
|
|
18
|
-
if (
|
|
16
|
+
if ((0, utils_1.hasFileExtension)(filePath, ['.html', '.ts'])) {
|
|
19
17
|
const newContent = content.replace(/<sma-/g, '<sproc-').replace(/<\/sma-/g, '</sproc-');
|
|
20
18
|
if (content !== newContent) {
|
|
21
19
|
tree.overwrite(filePath, newContent);
|
|
22
20
|
}
|
|
23
21
|
return;
|
|
24
22
|
}
|
|
25
|
-
if (
|
|
23
|
+
if ((0, utils_1.hasFileExtension)(filePath, ['.css', '.less', '.scss'])) {
|
|
26
24
|
const newContent = content.replace(/\bsma-/g, 'sproc-');
|
|
27
25
|
if (content !== newContent) {
|
|
28
26
|
tree.overwrite(filePath, newContent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/ngx-register-base/schematics/ng-update/update-prefix/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/ngx-register-base/schematics/ng-update/update-prefix/index.ts"],"names":[],"mappings":";;AAGA,oCAkCC;AApCD,6CAAqE;AAErE,SAAgB,YAAY;IAC1B,OAAO,CAAC,IAAU,EAAE,QAA0B,EAAE,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtB,IAAI,IAAA,sBAAc,EAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEhD,IAAI,IAAA,wBAAgB,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAExF,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACvC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,IAAA,wBAAgB,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAExD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Проверяет, следует ли пропустить файл при обработке.
|
|
3
|
+
*
|
|
4
|
+
* @param filePath Путь к файлу для проверки.
|
|
5
|
+
* @returns Возвращает `true`, если файл нужно пропустить, иначе `false`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function shouldSkipFile(filePath: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Проверяет, соответствует ли файл хотя бы одному из переданных расширений.
|
|
10
|
+
*
|
|
11
|
+
* @param filePath Путь к файлу
|
|
12
|
+
* @param extensions Массив расширений, например ['.html', '.ts']
|
|
13
|
+
* @returns Возвращает `true`, если файл соответствует одному из переданных ресширений, иначе `false`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function hasFileExtension(filePath: string, extensions: string[]): boolean;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shouldSkipFile = shouldSkipFile;
|
|
4
|
+
exports.hasFileExtension = hasFileExtension;
|
|
5
|
+
const IGNORED_DIRECTORIES = ['/node_modules/', '/dist/', '/.angular/', '/.git/'];
|
|
6
|
+
/**
|
|
7
|
+
* Проверяет, следует ли пропустить файл при обработке.
|
|
8
|
+
*
|
|
9
|
+
* @param filePath Путь к файлу для проверки.
|
|
10
|
+
* @returns Возвращает `true`, если файл нужно пропустить, иначе `false`.
|
|
11
|
+
*/
|
|
12
|
+
function shouldSkipFile(filePath) {
|
|
13
|
+
return IGNORED_DIRECTORIES.some((dir) => filePath.includes(dir));
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Проверяет, соответствует ли файл хотя бы одному из переданных расширений.
|
|
17
|
+
*
|
|
18
|
+
* @param filePath Путь к файлу
|
|
19
|
+
* @param extensions Массив расширений, например ['.html', '.ts']
|
|
20
|
+
* @returns Возвращает `true`, если файл соответствует одному из переданных ресширений, иначе `false`.
|
|
21
|
+
*/
|
|
22
|
+
function hasFileExtension(filePath, extensions) {
|
|
23
|
+
return extensions.some((ext) => filePath.endsWith(ext));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../projects/ngx-register-base/schematics/utils/utils.ts"],"names":[],"mappings":";;AAQA,wCAEC;AASD,4CAEC;AArBD,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEjF;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,QAAgB;IAC7C,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,QAAgB,EAAE,UAAoB;IACrE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const MENU_STATE_SERVICE = new InjectionToken('MENU_STATE_SERVICE');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItdGFibGUtZmlsdGVyLmNvbnN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL3JlZ2lzdGVyLXRhYmxlLWZpbHRlci5jb25zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBb0Isb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWVudVN0YXRlU2VydmljZSB9IGZyb20gJy4vcmVnaXN0ZXItdGFibGUtZmlsdGVyLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IE1FTlVfU1RBVEVfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJTWVudVN0YXRlU2VydmljZT4oJ01FTlVfU1RBVEVfU0VSVklDRScpO1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItdGFibGUtZmlsdGVyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvcmVnaXN0ZXItdGFibGUtZmlsdGVyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKiDQmNC90YLQtdGA0YTQtdC50YEg0YHQtdGA0LLQuNGB0LAg0LTQu9GPINGD0L/RgNCw0LLQu9C10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjQtdC8INC90LDQstC40LPQsNGG0LjQvtC90L3QvtCz0L4g0LzQtdC90Y4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1lbnVTdGF0ZVNlcnZpY2Uge1xuICAvKiog0KPRgdGC0LDQvdC+0LLQuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INC90LDQstC40LPQsNGG0LjQvtC90L3QvtCz0L4g0LzQtdC90Y4gKi9cbiAgc2V0T3Blbih2YWx1ZTogYm9vbGVhbik6IHZvaWQ7XG4gIC8qKiDQndCw0LHQu9GO0LTQsNC10LzQvtC1INGB0L7RgdGC0L7Rj9C90LjQtSDQvdCw0LLQuNCz0LDRhtC40L7QvdC90L7Qs9C+INC80LXQvdGOICovXG4gIGlzT3BlbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG59XG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
/** Интерфейс сервиса для управления состоянием навигационного меню */
|
|
3
|
-
export interface IMenuStateService {
|
|
4
|
-
/** Установить состояние навигационного меню */
|
|
5
|
-
setOpen(value: boolean): void;
|
|
6
|
-
/** Наблюдаемое состояние навигационного меню */
|
|
7
|
-
isOpen$: Observable<boolean>;
|
|
8
|
-
}
|