@celljs/widget 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/cell.yml +3 -0
  4. package/lib/browser/annotation/index.d.ts +2 -0
  5. package/lib/browser/annotation/index.d.ts.map +1 -0
  6. package/lib/browser/annotation/index.js +18 -0
  7. package/lib/browser/annotation/index.js.map +1 -0
  8. package/lib/browser/annotation/widget.d.ts +10 -0
  9. package/lib/browser/annotation/widget.d.ts.map +1 -0
  10. package/lib/browser/annotation/widget.js +30 -0
  11. package/lib/browser/annotation/widget.js.map +1 -0
  12. package/lib/browser/index.d.ts +6 -0
  13. package/lib/browser/index.d.ts.map +1 -0
  14. package/lib/browser/index.js +22 -0
  15. package/lib/browser/index.js.map +1 -0
  16. package/lib/browser/keyboard/index.d.ts +2 -0
  17. package/lib/browser/keyboard/index.d.ts.map +1 -0
  18. package/lib/browser/keyboard/index.js +18 -0
  19. package/lib/browser/keyboard/index.js.map +1 -0
  20. package/lib/browser/keyboard/keys.d.ts +254 -0
  21. package/lib/browser/keyboard/keys.d.ts.map +1 -0
  22. package/lib/browser/keyboard/keys.js +620 -0
  23. package/lib/browser/keyboard/keys.js.map +1 -0
  24. package/lib/browser/locale/index.d.ts +3 -0
  25. package/lib/browser/locale/index.d.ts.map +1 -0
  26. package/lib/browser/locale/index.js +19 -0
  27. package/lib/browser/locale/index.js.map +1 -0
  28. package/lib/browser/locale/locale-manager.d.ts +14 -0
  29. package/lib/browser/locale/locale-manager.d.ts.map +1 -0
  30. package/lib/browser/locale/locale-manager.js +71 -0
  31. package/lib/browser/locale/locale-manager.js.map +1 -0
  32. package/lib/browser/locale/locale-protocol.d.ts +16 -0
  33. package/lib/browser/locale/locale-protocol.d.ts.map +1 -0
  34. package/lib/browser/locale/locale-protocol.js +6 -0
  35. package/lib/browser/locale/locale-protocol.js.map +1 -0
  36. package/lib/browser/module.d.ts +3 -0
  37. package/lib/browser/module.d.ts.map +1 -0
  38. package/lib/browser/module.js +5 -0
  39. package/lib/browser/module.js.map +1 -0
  40. package/lib/browser/theme/index.d.ts +3 -0
  41. package/lib/browser/theme/index.d.ts.map +1 -0
  42. package/lib/browser/theme/index.js +19 -0
  43. package/lib/browser/theme/index.js.map +1 -0
  44. package/lib/browser/theme/theme-manager.d.ts +14 -0
  45. package/lib/browser/theme/theme-manager.d.ts.map +1 -0
  46. package/lib/browser/theme/theme-manager.js +72 -0
  47. package/lib/browser/theme/theme-manager.js.map +1 -0
  48. package/lib/browser/theme/theme-protocol.d.ts +19 -0
  49. package/lib/browser/theme/theme-protocol.d.ts.map +1 -0
  50. package/lib/browser/theme/theme-protocol.js +7 -0
  51. package/lib/browser/theme/theme-protocol.js.map +1 -0
  52. package/lib/browser/widget/index.d.ts +5 -0
  53. package/lib/browser/widget/index.d.ts.map +1 -0
  54. package/lib/browser/widget/index.js +26 -0
  55. package/lib/browser/widget/index.js.map +1 -0
  56. package/lib/browser/widget/widget-factory.d.ts +10 -0
  57. package/lib/browser/widget/widget-factory.d.ts.map +1 -0
  58. package/lib/browser/widget/widget-factory.js +46 -0
  59. package/lib/browser/widget/widget-factory.js.map +1 -0
  60. package/lib/browser/widget/widget-manager.d.ts +15 -0
  61. package/lib/browser/widget/widget-manager.d.ts.map +1 -0
  62. package/lib/browser/widget/widget-manager.js +80 -0
  63. package/lib/browser/widget/widget-manager.js.map +1 -0
  64. package/lib/browser/widget/widget-protocol.d.ts +38 -0
  65. package/lib/browser/widget/widget-protocol.d.ts.map +1 -0
  66. package/lib/browser/widget/widget-protocol.js +12 -0
  67. package/lib/browser/widget/widget-protocol.js.map +1 -0
  68. package/lib/browser/widget/widget-util.d.ts +6 -0
  69. package/lib/browser/widget/widget-util.d.ts.map +1 -0
  70. package/lib/browser/widget/widget-util.js +28 -0
  71. package/lib/browser/widget/widget-util.js.map +1 -0
  72. package/lib/package.spec.d.ts +1 -0
  73. package/lib/package.spec.d.ts.map +1 -0
  74. package/lib/package.spec.js +4 -0
  75. package/lib/package.spec.js.map +1 -0
  76. package/package.json +42 -0
  77. package/src/browser/annotation/index.ts +1 -0
  78. package/src/browser/annotation/widget.ts +34 -0
  79. package/src/browser/index.ts +5 -0
  80. package/src/browser/keyboard/index.ts +1 -0
  81. package/src/browser/keyboard/keys.ts +678 -0
  82. package/src/browser/locale/index.ts +2 -0
  83. package/src/browser/locale/locale-manager.ts +54 -0
  84. package/src/browser/locale/locale-protocol.ts +18 -0
  85. package/src/browser/module.ts +3 -0
  86. package/src/browser/theme/index.ts +2 -0
  87. package/src/browser/theme/theme-manager.ts +53 -0
  88. package/src/browser/theme/theme-protocol.ts +22 -0
  89. package/src/browser/widget/index.ts +4 -0
  90. package/src/browser/widget/widget-factory.ts +36 -0
  91. package/src/browser/widget/widget-manager.ts +64 -0
  92. package/src/browser/widget/widget-protocol.ts +38 -0
  93. package/src/browser/widget/widget-util.ts +26 -0
  94. package/src/package.spec.ts +4 -0
@@ -0,0 +1,6 @@
1
+ import { WidgetModel, Widget } from './widget-protocol';
2
+ export declare namespace WidgetUtil {
3
+ function create<T>(widgetModel: WidgetModel): Promise<Widget<T>>;
4
+ function render<T>(widgetModel: WidgetModel): Promise<T>;
5
+ }
6
+ //# sourceMappingURL=widget-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-util.d.ts","sourceRoot":"","sources":["../../../src/browser/widget/widget-util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIvE,yBAAiB,UAAU,CAAC;IACxB,SAAsB,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAY5E;IAED,SAAsB,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAGpE;CAEJ"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WidgetUtil = void 0;
4
+ const core_1 = require("@celljs/core");
5
+ const widget_protocol_1 = require("./widget-protocol");
6
+ let widgetFactories;
7
+ var WidgetUtil;
8
+ (function (WidgetUtil) {
9
+ async function create(widgetModel) {
10
+ if (!widgetFactories) {
11
+ widgetFactories = core_1.Prioritizeable.prioritizeAllSync(core_1.ContainerUtil.getAll(widget_protocol_1.WidgetFactory)).map(p => p.value);
12
+ }
13
+ for (const factory of widgetFactories) {
14
+ if (await factory.support(widgetModel)) {
15
+ const widget = await factory.create(widgetModel);
16
+ return widget;
17
+ }
18
+ }
19
+ throw new Error(`WidgetModel {id: ${widgetModel.id}, type: ${widgetModel.type}} there is no matching widget factory.`);
20
+ }
21
+ WidgetUtil.create = create;
22
+ async function render(widgetModel) {
23
+ const widget = await WidgetUtil.create(widgetModel);
24
+ return widget.render();
25
+ }
26
+ WidgetUtil.render = render;
27
+ })(WidgetUtil = exports.WidgetUtil || (exports.WidgetUtil = {}));
28
+ //# sourceMappingURL=widget-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-util.js","sourceRoot":"","sources":["../../../src/browser/widget/widget-util.ts"],"names":[],"mappings":";;;AAAA,uCAA6D;AAC7D,uDAAuE;AAEvE,IAAI,eAAqC,CAAC;AAE1C,IAAiB,UAAU,CAoB1B;AApBD,WAAiB,UAAU;IAChB,KAAK,UAAU,MAAM,CAAI,WAAwB;QACpD,IAAI,CAAC,eAAe,EAAE;YAClB,eAAe,GAAG,qBAAc,CAAC,iBAAiB,CAAC,oBAAa,CAAC,MAAM,CAAmB,+BAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC/H;QAED,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE;YACnC,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACjD,OAAO,MAAM,CAAC;aACjB;SACJ;QACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,WAAW,CAAC,EAAE,WAAW,WAAW,CAAC,IAAI,wCAAwC,CAAC,CAAC;IAC3H,CAAC;IAZqB,iBAAM,SAY3B,CAAA;IAEM,KAAK,UAAU,MAAM,CAAI,WAAwB;QACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAI,WAAW,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAHqB,iBAAM,SAG3B,CAAA;AAEL,CAAC,EApBgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAoB1B"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=package.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.spec.d.ts","sourceRoot":"","sources":["../src/package.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ describe('widget package', () => {
2
+ it('support code coverage statistics', () => { });
3
+ });
4
+ //# sourceMappingURL=package.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.spec.js","sourceRoot":"","sources":["../src/package.spec.ts"],"names":[],"mappings":"AAAA,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAE5B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@celljs/widget",
3
+ "version": "3.0.0",
4
+ "description": "",
5
+ "main": "lib/browser/index.js",
6
+ "typings": "lib/browser/index.d.ts",
7
+ "dependencies": {
8
+ "@celljs/core": "3.0.0",
9
+ "rxjs": "^6.6.0"
10
+ },
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "keywords": [
15
+ "cell-component"
16
+ ],
17
+ "license": "MIT",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/cellbang/cell.git"
21
+ },
22
+ "bugs": {
23
+ "url": "https://github.com/cellbang/cell/issues"
24
+ },
25
+ "homepage": "https://github.com/cellbang/cell",
26
+ "files": [
27
+ "lib",
28
+ "src",
29
+ "cell.yml"
30
+ ],
31
+ "scripts": {
32
+ "lint": "cell-component lint",
33
+ "build": "cell-component build",
34
+ "watch": "cell-component watch",
35
+ "clean": "cell-component clean",
36
+ "test": "cell-component test:js"
37
+ },
38
+ "devDependencies": {
39
+ "@celljs/component": "3.0.0"
40
+ },
41
+ "gitHead": "c0ef8d269e33a795406bcbb240cac4b845c6c24c"
42
+ }
@@ -0,0 +1 @@
1
+ export * from './widget';
@@ -0,0 +1,34 @@
1
+ import { ComponentId, Constant } from '@celljs/core';
2
+ import { WidgetModel, WidgetType } from '../widget';
3
+
4
+ export interface WidgetOption {
5
+ id?: ComponentId | ComponentId[];
6
+ rebind?: boolean;
7
+ area: string;
8
+ priority?: number;
9
+ component?: any;
10
+ }
11
+
12
+ export const Widget =
13
+ function (areaOrWidgetOption: string | WidgetOption): ClassDecorator {
14
+ return t => {
15
+ let widgetOption: WidgetOption;
16
+ if (typeof areaOrWidgetOption === 'string') {
17
+ widgetOption = { area: areaOrWidgetOption };
18
+ } else {
19
+ widgetOption = { ...areaOrWidgetOption };
20
+ }
21
+ const id = widgetOption.id ? (Array.isArray(widgetOption.id) ? widgetOption.id : [ widgetOption.id ]) : [];
22
+ const component = widgetOption.component || t;
23
+ Constant([...id, component, WidgetModel], {
24
+ id: widgetOption.id ? widgetOption.id.toString() : component.name,
25
+ visible: true,
26
+ type: WidgetType.Decorator,
27
+ priority: widgetOption.priority || 500,
28
+ area: widgetOption.area,
29
+ matedata: {
30
+ component
31
+ }
32
+ }, widgetOption.rebind)(t);
33
+ };
34
+ };
@@ -0,0 +1,5 @@
1
+ export * from './keyboard';
2
+ export * from './widget';
3
+ export * from './annotation';
4
+ export * from './theme';
5
+ export * from './locale';
@@ -0,0 +1 @@
1
+ export * from './keys';