@omegagrid/bucket 0.2.5

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 (61) hide show
  1. package/dist/constants.d.ts +47 -0
  2. package/dist/constants.d.ts.map +1 -0
  3. package/dist/constants.js +12 -0
  4. package/dist/constants.js.map +1 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +19 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/types.d.ts +63 -0
  10. package/dist/types.d.ts.map +1 -0
  11. package/dist/types.js +3 -0
  12. package/dist/types.js.map +1 -0
  13. package/dist/ui/bucket.d.ts +81 -0
  14. package/dist/ui/bucket.d.ts.map +1 -0
  15. package/dist/ui/bucket.js +417 -0
  16. package/dist/ui/bucket.js.map +1 -0
  17. package/dist/ui/bucket.style.d.ts +3 -0
  18. package/dist/ui/bucket.style.d.ts.map +1 -0
  19. package/dist/ui/bucket.style.js +85 -0
  20. package/dist/ui/bucket.style.js.map +1 -0
  21. package/dist/ui/bucketButton.d.ts +12 -0
  22. package/dist/ui/bucketButton.d.ts.map +1 -0
  23. package/dist/ui/bucketButton.js +80 -0
  24. package/dist/ui/bucketButton.js.map +1 -0
  25. package/dist/ui/commonMenus.d.ts +4 -0
  26. package/dist/ui/commonMenus.d.ts.map +1 -0
  27. package/dist/ui/commonMenus.js +10 -0
  28. package/dist/ui/commonMenus.js.map +1 -0
  29. package/dist/ui/componentHost.d.ts +16 -0
  30. package/dist/ui/componentHost.d.ts.map +1 -0
  31. package/dist/ui/componentHost.js +82 -0
  32. package/dist/ui/componentHost.js.map +1 -0
  33. package/dist/ui/index.d.ts +9 -0
  34. package/dist/ui/index.d.ts.map +1 -0
  35. package/dist/ui/index.js +25 -0
  36. package/dist/ui/index.js.map +1 -0
  37. package/dist/ui/modalSidebar.d.ts +19 -0
  38. package/dist/ui/modalSidebar.d.ts.map +1 -0
  39. package/dist/ui/modalSidebar.js +86 -0
  40. package/dist/ui/modalSidebar.js.map +1 -0
  41. package/dist/ui/modalSidebar.style.d.ts +3 -0
  42. package/dist/ui/modalSidebar.style.d.ts.map +1 -0
  43. package/dist/ui/modalSidebar.style.js +57 -0
  44. package/dist/ui/modalSidebar.style.js.map +1 -0
  45. package/dist/ui/sidebar.d.ts +15 -0
  46. package/dist/ui/sidebar.d.ts.map +1 -0
  47. package/dist/ui/sidebar.js +69 -0
  48. package/dist/ui/sidebar.js.map +1 -0
  49. package/dist/ui/sidemenu.d.ts +20 -0
  50. package/dist/ui/sidemenu.d.ts.map +1 -0
  51. package/dist/ui/sidemenu.js +114 -0
  52. package/dist/ui/sidemenu.js.map +1 -0
  53. package/dist/ui/top.d.ts +14 -0
  54. package/dist/ui/top.d.ts.map +1 -0
  55. package/dist/ui/top.js +70 -0
  56. package/dist/ui/top.js.map +1 -0
  57. package/dist/ui/top.style.d.ts +3 -0
  58. package/dist/ui/top.style.d.ts.map +1 -0
  59. package/dist/ui/top.style.js +40 -0
  60. package/dist/ui/top.style.js.map +1 -0
  61. package/package.json +52 -0
@@ -0,0 +1,417 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ var Bucket_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.Bucket = exports.BucketEvent = void 0;
14
+ const core_1 = require("@omegagrid/core");
15
+ const tabs_1 = require("@omegagrid/tabs");
16
+ const commands_1 = require("@omegagrid/commands");
17
+ const lit_1 = require("lit");
18
+ const decorators_js_1 = require("lit/decorators.js");
19
+ const constants_1 = __importDefault(require("../constants"));
20
+ const bucket_style_1 = __importDefault(require("./bucket.style"));
21
+ const commonMenus_1 = require("./commonMenus");
22
+ const ts_debounce_1 = require("ts-debounce");
23
+ const DEFAULT_SETTINGS = {
24
+ top: { rightItems: [] },
25
+ sidemenu: { items: [], activeIndex: null },
26
+ editorLayout: { items: [] }
27
+ };
28
+ class BucketEvent extends Event {
29
+ constructor(type, args) {
30
+ super(`bucket.${type}`, { bubbles: true, composed: true });
31
+ Object.assign(this, args);
32
+ }
33
+ }
34
+ exports.BucketEvent = BucketEvent;
35
+ let Bucket = Bucket_1 = class Bucket extends lit_1.LitElement {
36
+ get activeComponentId() { return this._activeComponentId; }
37
+ get hasUnsavedComponents() { return this.unsavedComponents.size > 0; }
38
+ constructor() {
39
+ super();
40
+ this.settings = DEFAULT_SETTINGS;
41
+ this.logger = new core_1.log.Logger('Ωbucket');
42
+ this.componentPromiseResolutions = new Map();
43
+ this.components = new Map();
44
+ this.dialogs = new Map();
45
+ this.modalSidebars = [];
46
+ this.modalSidebarComponents = new Map();
47
+ this.unsavedComponents = new Set();
48
+ this.dispatchStateEvent = (0, ts_debounce_1.debounce)(() => this.dispatchEvent(new BucketEvent('state')), 200);
49
+ this._onWindowBeforeUnload = (e) => {
50
+ if (!this.hasUnsavedComponents)
51
+ return;
52
+ e.preventDefault();
53
+ e.returnValue = '';
54
+ };
55
+ this.createModalSidebarComponent = (options) => {
56
+ var _a;
57
+ const component = core_1.dom.createElement('og-bucket-modal-sidebar');
58
+ component.className = (_a = options.position) !== null && _a !== void 0 ? _a : 'left';
59
+ component.componentId = options.id;
60
+ component.caption = options.caption;
61
+ component.closable = options.closable == null || options.closable;
62
+ component.bucket = this;
63
+ return component;
64
+ };
65
+ this.createEditorComponent = (id) => {
66
+ const component = core_1.dom.createElement('og-bucket-component-host');
67
+ component.componentId = id;
68
+ component.bucket = this;
69
+ return component;
70
+ };
71
+ this._createSplitContainerComponent = (index) => {
72
+ var _a;
73
+ let component;
74
+ if (index == 0) {
75
+ // primary sidebar
76
+ this.logger.info('create primary sidebar');
77
+ return this.getComponent(this.sidebar1ComponentId);
78
+ }
79
+ else if (index == 1) {
80
+ // editor split container
81
+ this.logger.info('create editor container');
82
+ return (_a = this.editorContainer) !== null && _a !== void 0 ? _a : this.createEditorContainer();
83
+ }
84
+ if (!component) {
85
+ component = core_1.dom.createElement('div');
86
+ component.innerHTML = 'empty';
87
+ }
88
+ return component;
89
+ };
90
+ this._onSplitContainerResize = () => {
91
+ var _a;
92
+ (_a = this.top) === null || _a === void 0 ? void 0 : _a.layout();
93
+ this.dispatchEvent(new BucketEvent('state'));
94
+ };
95
+ this._onTabRemove = (e) => {
96
+ this.unregisterComponent(e.tab.id);
97
+ this.dispatchEvent(new BucketEvent('close', { tab: e.tab, componentId: e.tab.id }));
98
+ this.dispatchEvent(new BucketEvent('state'));
99
+ };
100
+ this._onTabBeforeRemove = (e) => {
101
+ if (this.unsavedComponents.has(e.tab.id)) {
102
+ e.preventDefault();
103
+ this.openMenu({ text: 'Discard changes and close tab?', content: 'yes_no' }).then(answer => {
104
+ if ((answer === null || answer === void 0 ? void 0 : answer.id) == 'Y') {
105
+ this.unsavedComponents.delete(e.tab.id);
106
+ e.tabs.removeTab(e.index, true);
107
+ }
108
+ });
109
+ }
110
+ };
111
+ this._onTabSelect = (e) => {
112
+ var _a, _b;
113
+ if (e.tabs.topLevelComponent == this.editorContainer) {
114
+ this._activeComponentId = (_a = e.tab) === null || _a === void 0 ? void 0 : _a.id;
115
+ this.dispatchEvent(new BucketEvent('activate', { tab: e.tab, componentId: (_b = e.tab) === null || _b === void 0 ? void 0 : _b.id }));
116
+ this.dispatchStateEvent();
117
+ }
118
+ };
119
+ this.render = () => (0, lit_1.html) `
120
+ <og-bucket-top .bucket=${this}></og-bucket-top>
121
+ <og-commands id="commandMenu" .target="${this}"></og-commands>
122
+
123
+ <div id="body">
124
+ <og-overlay></og-overlay>
125
+
126
+ <og-bucket-sidemenu
127
+ @select=${this._onSidemenuSelect}
128
+ .settings=${this.settings.sidemenu}>
129
+ </og-bucket-sidemenu>
130
+
131
+ <og-splitcontainer
132
+ orientation="horizontal"
133
+ @splitContainer.resize=${this._onSplitContainerResize}
134
+ @tab.beforeRemove=${this._onTabBeforeRemove}
135
+ @tab.remove=${this._onTabRemove}
136
+ @tab.select=${this._onTabSelect}
137
+ .items="${[
138
+ { size: constants_1.default.SIDEBAR_WIDTH },
139
+ { size: null }
140
+ ]}"
141
+ .createComponent="${this._createSplitContainerComponent}">
142
+ </og-splitcontainer>
143
+ </div>
144
+ `;
145
+ this.logger.info('init');
146
+ }
147
+ connectedCallback() {
148
+ super.connectedCallback();
149
+ this.logger.info('connected');
150
+ window.addEventListener('beforeunload', this._onWindowBeforeUnload);
151
+ }
152
+ disconnectedCallback() {
153
+ window.removeEventListener('beforeunload', this._onWindowBeforeUnload);
154
+ }
155
+ layout() {
156
+ var _a, _b;
157
+ (_a = this.container) === null || _a === void 0 ? void 0 : _a.layout();
158
+ (_b = this.top) === null || _b === void 0 ? void 0 : _b.layout();
159
+ }
160
+ loadSettings(settings) {
161
+ this.settings = settings;
162
+ }
163
+ async firstUpdated() {
164
+ var _a, _b;
165
+ const sidebarComponentId = (_b = ((_a = this.settings.sidemenu.items) !== null && _a !== void 0 ? _a : [])[this.settings.sidemenu.activeIndex]) === null || _b === void 0 ? void 0 : _b.id;
166
+ if (sidebarComponentId) {
167
+ this.sidebar1ComponentId = sidebarComponentId;
168
+ }
169
+ }
170
+ _onSidemenuSelect(e) {
171
+ var _a, _b;
172
+ const id = (_b = ((_a = this.settings.sidemenu.items) !== null && _a !== void 0 ? _a : [])[e.index]) === null || _b === void 0 ? void 0 : _b.id;
173
+ if (id == this.sidebar1ComponentId) {
174
+ this.toggleSidebar();
175
+ }
176
+ else {
177
+ this.sidebar1ComponentId = id;
178
+ this.requestUpdate();
179
+ }
180
+ this.dispatchEvent(new BucketEvent('state'));
181
+ }
182
+ registerComponent(id, component) {
183
+ this.components.set(id, component);
184
+ this.dispatchEvent(new BucketEvent('register', { componentId: id }));
185
+ }
186
+ unregisterComponent(id) {
187
+ this.components.delete(id);
188
+ this.dispatchEvent(new BucketEvent('unregister', { componentId: id }));
189
+ }
190
+ registerDialog(id, dialog) {
191
+ this.dialogs.set(id, dialog);
192
+ }
193
+ unregisterDialog(id) {
194
+ this.dialogs.delete(id);
195
+ this.unregisterComponent(id);
196
+ }
197
+ updateComponent(id, options) {
198
+ var _a, _b;
199
+ const newId = (_a = options.id) !== null && _a !== void 0 ? _a : id;
200
+ this.editorContainer.updateTab(id, { id: newId, title: (_b = options.title) !== null && _b !== void 0 ? _b : undefined });
201
+ if (this.components.has(id) && newId != id) {
202
+ //this.registerComponent(options.id, this.components.get(id));
203
+ this.unregisterComponent(id);
204
+ }
205
+ return this.components.get(newId);
206
+ }
207
+ async getComponent(id) {
208
+ let component = this.components.get(id);
209
+ if (!component) {
210
+ component = await this.createComponent(id);
211
+ if (component) {
212
+ this.registerComponent(id, await this.createComponent(id));
213
+ this.dispatchEvent(new BucketEvent('register', { componentId: id }));
214
+ }
215
+ }
216
+ if (this.componentPromiseResolutions.has(id)) {
217
+ if (component) {
218
+ this.componentPromiseResolutions.get(id).resolve(component);
219
+ }
220
+ else {
221
+ this.componentPromiseResolutions.get(id).reject();
222
+ }
223
+ this.componentPromiseResolutions.delete(id);
224
+ }
225
+ return component;
226
+ }
227
+ async open(item) {
228
+ return new Promise((resolve, reject) => {
229
+ this.componentPromiseResolutions.set(item.id, { resolve, reject });
230
+ this.editorContainer.open(item);
231
+ this.dispatchEvent(new BucketEvent('state'));
232
+ });
233
+ }
234
+ async openDialog(options) {
235
+ const dialog = core_1.dom.createElement('og-dialog');
236
+ dialog.setOptions(options);
237
+ dialog.open(this);
238
+ if (options.id) {
239
+ dialog.componentId = options.id;
240
+ dialog.showLoader();
241
+ const [component] = (await Promise.all([this.createComponent(options.id)]));
242
+ dialog.hideLoader();
243
+ dialog.addEventListener('dialog.close', (e) => this.unregisterDialog(e.dialog.componentId));
244
+ dialog.addEventListener('dialog.move', () => this.dispatchStateEvent());
245
+ dialog.component = component;
246
+ // dialog without component id cannot be registered and included in state
247
+ this.registerDialog(options.id, dialog);
248
+ this.dispatchStateEvent();
249
+ }
250
+ // TODO - fix dialog position;
251
+ return dialog;
252
+ }
253
+ openMenu(options) {
254
+ this.logger.info('open menu');
255
+ let resolveCallback;
256
+ const onClose = () => {
257
+ this.menu.removeEventListener('command.exec', onExec);
258
+ this.menu.removeEventListener('command.close', onClose);
259
+ resolveCallback(new commands_1.Command({ id: null }));
260
+ };
261
+ const onExec = (e) => {
262
+ this.menu.removeEventListener('command.exec', onExec);
263
+ this.menu.removeEventListener('command.close', onClose);
264
+ resolveCallback(e.command);
265
+ };
266
+ return new Promise(resolve => {
267
+ resolveCallback = resolve;
268
+ this.menu.addEventListener('command.exec', onExec);
269
+ this.menu.addEventListener('command.close', onClose);
270
+ this.menu.text = options.text;
271
+ this.menu.open();
272
+ this.menu.commands = options.content instanceof commands_1.Commands
273
+ ? options.content
274
+ : new commands_1.Commands(commonMenus_1.commonMenus[options.content]);
275
+ });
276
+ }
277
+ updateModalSidebarPositions() {
278
+ if (this.modalSidebars.length > 0)
279
+ this.overlay.show(this.body);
280
+ else
281
+ this.overlay.hide();
282
+ const left = this.container.containers[0].offsetWidth + this.sidemenu.offsetWidth;
283
+ const right = 0;
284
+ let lCount = 0, rCount = 0;
285
+ this.modalSidebars.forEach(async (options) => {
286
+ const component = this.modalSidebarComponents.get(options.id);
287
+ const rPos = options.position == 'right';
288
+ const index = rPos ? rCount : lCount;
289
+ if (!component)
290
+ return;
291
+ core_1.dom.setZIndex(component, 500 + index);
292
+ core_1.dom.setSize(component, { w: options.width || constants_1.default.SIDEBAR_WIDTH });
293
+ if (rPos) {
294
+ rCount++;
295
+ core_1.dom.setPosition(component, { t: 0, r: right + index * 20, b: 0 });
296
+ }
297
+ else {
298
+ core_1.dom.setPosition(component, { t: 0, l: left + index * 20, b: 0 });
299
+ lCount++;
300
+ }
301
+ });
302
+ }
303
+ async openModalSidebar(options) {
304
+ this.overlay.show(this.body);
305
+ this.modalSidebars.push(options);
306
+ if (options.component) {
307
+ options.id = options.id || `temp-${Bucket_1.getUniqueId()}`;
308
+ this.registerComponent(options.id, options.component);
309
+ }
310
+ return new Promise((resolve, reject) => {
311
+ this.componentPromiseResolutions.set(options.id, { resolve, reject });
312
+ const component = this.createModalSidebarComponent(options);
313
+ this.modalSidebarComponents.set(options.id, component);
314
+ this.body.appendChild(component);
315
+ this.updateModalSidebarPositions();
316
+ });
317
+ }
318
+ async closeModalSidebar(all = false) {
319
+ const targetCount = all ? 0 : this.modalSidebars.length - 1;
320
+ while (this.modalSidebars.length > targetCount) {
321
+ const options = this.modalSidebars.pop();
322
+ if (!options)
323
+ continue;
324
+ this.modalSidebarComponents.get(options.id).remove();
325
+ this.modalSidebarComponents.delete(options.id);
326
+ this.unregisterComponent(options.id);
327
+ }
328
+ this.updateModalSidebarPositions();
329
+ }
330
+ createEditorContainer() {
331
+ this.editorContainer = core_1.dom.createElement('og-tabsplitcontainer');
332
+ this.editorContainer.style.height = '100%';
333
+ this.editorContainer.closable = true;
334
+ this.editorContainer.singleActive = true;
335
+ this.editorContainer.createComponent = this.createEditorComponent;
336
+ this.editorContainer.model = new tabs_1.TabSplitContainerModel(this.settings.editorLayout);
337
+ return this.editorContainer;
338
+ }
339
+ async toggleSidebar() {
340
+ await this.container.collapse(0, !this.container.items[0].collapsed);
341
+ this.layout();
342
+ }
343
+ async hideSidebar() {
344
+ await this.container.collapse(0, true);
345
+ this.layout();
346
+ }
347
+ async showSidebar() {
348
+ await this.container.collapse(0, false);
349
+ this.layout();
350
+ }
351
+ getState() {
352
+ var _a, _b;
353
+ const item = (_a = this.container) === null || _a === void 0 ? void 0 : _a.items[0];
354
+ return {
355
+ sidebar: {
356
+ selectedItem: this.sidebar1ComponentId,
357
+ width: item === null || item === void 0 ? void 0 : item.size,
358
+ collapsed: !!(item === null || item === void 0 ? void 0 : item.collapsed)
359
+ },
360
+ layout: (_b = this.editorContainer) === null || _b === void 0 ? void 0 : _b.model.getSourceData(),
361
+ dialogs: [
362
+ ...Array.from(this.dialogs.entries())
363
+ .map(([id, dialog]) => Object.assign({ id: id }, dialog.getOptions()))
364
+ ]
365
+ };
366
+ }
367
+ async setState(state) {
368
+ var _a, _b;
369
+ const selectedIndex = this.settings.sidemenu.items.findIndex(item => item.id == state.sidebar.selectedItem);
370
+ if (selectedIndex >= 0) {
371
+ this.settings.sidemenu.activeIndex = selectedIndex;
372
+ this.sidebar1ComponentId = state.sidebar.selectedItem;
373
+ }
374
+ this.settings.editorLayout = state.layout;
375
+ this.editorContainer = null;
376
+ this.requestUpdate();
377
+ await this.updateComplete;
378
+ (_a = this.sidemenu) === null || _a === void 0 ? void 0 : _a.requestUpdate();
379
+ (_b = state.dialogs) === null || _b === void 0 ? void 0 : _b.forEach(opt => this.openDialog(opt));
380
+ }
381
+ };
382
+ exports.Bucket = Bucket;
383
+ Bucket.styles = [bucket_style_1.default];
384
+ Bucket.uniqueId = 0;
385
+ Bucket.getUniqueId = () => ++Bucket_1.uniqueId;
386
+ __decorate([
387
+ (0, decorators_js_1.query)('og-overlay')
388
+ ], Bucket.prototype, "overlay", void 0);
389
+ __decorate([
390
+ (0, decorators_js_1.query)('#commandMenu')
391
+ ], Bucket.prototype, "menu", void 0);
392
+ __decorate([
393
+ (0, decorators_js_1.query)('og-bucket-top')
394
+ ], Bucket.prototype, "top", void 0);
395
+ __decorate([
396
+ (0, decorators_js_1.query)('og-bucket-sidemenu')
397
+ ], Bucket.prototype, "sidemenu", void 0);
398
+ __decorate([
399
+ (0, decorators_js_1.query)('og-splitcontainer')
400
+ ], Bucket.prototype, "container", void 0);
401
+ __decorate([
402
+ (0, decorators_js_1.query)('#body')
403
+ ], Bucket.prototype, "body", void 0);
404
+ __decorate([
405
+ (0, decorators_js_1.property)({ type: Object })
406
+ ], Bucket.prototype, "createComponent", void 0);
407
+ __decorate([
408
+ (0, decorators_js_1.property)({ type: Object })
409
+ ], Bucket.prototype, "settings", void 0);
410
+ __decorate([
411
+ (0, decorators_js_1.property)({ type: Object })
412
+ ], Bucket.prototype, "logger", void 0);
413
+ exports.Bucket = Bucket = Bucket_1 = __decorate([
414
+ (0, decorators_js_1.customElement)('og-bucket'),
415
+ (0, core_1.stylable)({ vars: ['accent-color', 'text-color', 'bucket-*', 'background-color', 'font-*'] })
416
+ ], Bucket);
417
+ //# sourceMappingURL=bucket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket.js","sourceRoot":"","sources":["../../src/ui/bucket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
3
+ //# sourceMappingURL=bucket.style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket.style.d.ts","sourceRoot":"","sources":["../../src/ui/bucket.style.ts"],"names":[],"mappings":";AAGA,wBA4EE"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const lit_1 = require("lit");
7
+ const constants_1 = __importDefault(require("../constants"));
8
+ exports.default = (0, lit_1.css) `
9
+ :host {
10
+ display: flex;
11
+ flex-direction: column;
12
+ position: relative;
13
+ -webkit-user-select: none;
14
+ user-select: none;
15
+ height: 100%;
16
+ color: var(--text-color);
17
+ background-color: var(--background-color);
18
+ font-family: var(--font-family);
19
+ }
20
+
21
+ * {
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ og-bucket-top {
26
+ flex: 0 0;
27
+ min-height: ${constants_1.default.TOP_HEIGHT}px;
28
+ background-color: red;
29
+ background: var(--bucket-top-background-color);
30
+ border-bottom: 1px solid var(--bucket-border-color);
31
+ }
32
+
33
+ #body {
34
+ flex: 1;
35
+ height: 100%;
36
+ display: flex;
37
+ overflow: hidden;
38
+ flex-direction: row;
39
+ position: relative;
40
+ }
41
+
42
+ og-bucket-sidemenu {
43
+ min-width: ${constants_1.default.SIDEMENU_WIDTH}px;
44
+ flex: 0;
45
+ background: var(--bucket-left-background-color);
46
+ border-right: 1px solid var(--bucket-border-color);
47
+ }
48
+
49
+ og-splitcontainer {
50
+ flex: 1;
51
+ }
52
+
53
+ /*
54
+ og-bucket-sidebar {
55
+ position: absolute;
56
+ width: ${constants_1.default.SIDEBAR_WIDTH}px;
57
+ top: 0;
58
+ bottom: 0;
59
+ background: var(--bucket-center-background-color);
60
+ }
61
+
62
+ og-bucket-sidebar.sidebar-1 {
63
+ left: ${constants_1.default.SIDEMENU_WIDTH}px;
64
+ }
65
+
66
+ og-bucket-sidebar.sidebar-2 {
67
+ display: none;
68
+ left: ${constants_1.default.SIDEBAR_WIDTH + constants_1.default.SIDEMENU_WIDTH}px;
69
+ }
70
+
71
+ og-bucket-editorlayout {
72
+ position: absolute;
73
+ left: ${constants_1.default.SIDEMENU_WIDTH + constants_1.default.SIDEBAR_WIDTH}px;
74
+ right: 0;
75
+ top: 0;
76
+ bottom: 0;
77
+ }
78
+
79
+ og-sizer {
80
+ z-index: 1000;
81
+ }
82
+ */
83
+
84
+ `;
85
+ //# sourceMappingURL=bucket.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket.style.js","sourceRoot":"","sources":["../../src/ui/bucket.style.ts"],"names":[],"mappings":";;;;;AAAA,6BAA0B;AAC1B,6DAAqC;AAErC,kBAAe,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;gBAmBF,mBAAS,CAAC,UAAU;;;;;;;;;;;;;;;;eAgBrB,mBAAS,CAAC,cAAc;;;;;;;;;;;;;WAa5B,mBAAS,CAAC,aAAa;;;;;;;UAOxB,mBAAS,CAAC,cAAc;;;;;UAKxB,mBAAS,CAAC,aAAa,GAAG,mBAAS,CAAC,cAAc;;;;;UAKlD,mBAAS,CAAC,cAAc,GAAG,mBAAS,CAAC,aAAa;;;;;;;;;;;CAW3D,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { IconSpec } from '@omegagrid/core';
2
+ import { LitElement } from 'lit';
3
+ export declare class BucketButton extends LitElement {
4
+ text: string;
5
+ icon: IconSpec | string;
6
+ active: boolean;
7
+ statusIcon: string | [string, string];
8
+ static styles: import("lit").CSSResult;
9
+ private get iconSpec();
10
+ render: () => import("lit-html").TemplateResult<1>;
11
+ }
12
+ //# sourceMappingURL=bucketButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucketButton.d.ts","sourceRoot":"","sources":["../../src/ui/bucketButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,qBAEa,YAAa,SAAQ,UAAU;IAG3C,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,QAAQ,GAAC,MAAM,CAAC;IAGtB,MAAM,UAAQ;IAGd,UAAU,EAAE,MAAM,GAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC,MAAM,CAAC,MAAM,0BAkCX;IAEF,OAAO,KAAK,QAAQ,GAEnB;IAED,MAAM,6CAKJ;CAEF"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BucketButton = void 0;
10
+ const core_1 = require("@omegagrid/core");
11
+ const lit_1 = require("lit");
12
+ const decorators_js_1 = require("lit/decorators.js");
13
+ let BucketButton = class BucketButton extends lit_1.LitElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.active = false;
17
+ this.render = () => (0, lit_1.html) `
18
+ <div class="icon">
19
+ <og-icon .icon="${this.iconSpec}"></og-icon>
20
+ </div>
21
+ <div class="text">${this.text}</div>
22
+ `;
23
+ }
24
+ get iconSpec() {
25
+ return Object.assign(core_1.utils.isObject(this.icon) ? this.icon : { icon: this.icon }, { size: 'lg' });
26
+ }
27
+ };
28
+ exports.BucketButton = BucketButton;
29
+ BucketButton.styles = (0, lit_1.css) `
30
+ :host {
31
+ display: block;
32
+ width: 40px;
33
+ height: 40px;
34
+ cursor: pointer;
35
+ }
36
+
37
+ :host(:hover) {
38
+ background-color: var(--accent-color-alpha-15);
39
+ }
40
+
41
+ :host([active]) {
42
+ background-color: var(--accent-color-alpha-30);
43
+ }
44
+
45
+ * {
46
+ box-sizing: border-box;
47
+ }
48
+
49
+ .icon {
50
+ height: 30px;
51
+ line-height: 30px;
52
+ }
53
+
54
+ .text {
55
+ font-size: 8px;
56
+ height: 10px;
57
+ line-height: 10px;
58
+ }
59
+
60
+ .statusicon {
61
+ color: var(--accent-color);
62
+ }
63
+ `;
64
+ __decorate([
65
+ (0, decorators_js_1.property)({ type: String })
66
+ ], BucketButton.prototype, "text", void 0);
67
+ __decorate([
68
+ (0, decorators_js_1.property)()
69
+ ], BucketButton.prototype, "icon", void 0);
70
+ __decorate([
71
+ (0, decorators_js_1.property)({ type: Boolean, reflect: true })
72
+ ], BucketButton.prototype, "active", void 0);
73
+ __decorate([
74
+ (0, decorators_js_1.property)({ type: String })
75
+ ], BucketButton.prototype, "statusIcon", void 0);
76
+ exports.BucketButton = BucketButton = __decorate([
77
+ (0, decorators_js_1.customElement)('og-bucket-button'),
78
+ (0, core_1.stylable)({ vars: ['border-*', 'accent-*'] })
79
+ ], BucketButton);
80
+ //# sourceMappingURL=bucketButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucketButton.js","sourceRoot":"","sources":["../../src/ui/bucketButton.ts"],"names":[],"mappings":";;;;;;;;;AAAA,0CAA4D;AAC5D,6BAA4C;AAC5C,qDAA4D;AAIrD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,gBAAU;IAArC;;QASN,WAAM,GAAG,KAAK,CAAA;QA6Cd,WAAM,GAAG,GAAG,EAAE,CAAC,IAAA,UAAI,EAAA;;qBAEC,IAAI,CAAC,QAAQ;;sBAEZ,IAAI,CAAC,IAAI;EAC7B,CAAC;IAEH,CAAC;IAXA,IAAY,QAAQ;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC,YAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAa,CAAC;IAC3G,CAAC;;AApDW,oCAAY;AAcjB,mBAAM,GAAG,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkClB,AAlCY,CAkCX;AA7CF;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;0CACZ;AAGb;IADC,IAAA,wBAAQ,GAAE;0CACW;AAGtB;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;4CAC3B;AAGd;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;gDACW;uBAZxB,YAAY;IAFxB,IAAA,6BAAa,EAAC,kBAAkB,CAAC;IACjC,IAAA,eAAQ,EAAC,EAAC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAC,CAAC;GAC9B,YAAY,CA6DxB"}
@@ -0,0 +1,4 @@
1
+ import { Command } from '@omegagrid/commands';
2
+ export type CommonMenu = 'yes_no';
3
+ export declare const commonMenus: Record<CommonMenu, Partial<Command>[]>;
4
+ //# sourceMappingURL=commonMenus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonMenus.d.ts","sourceRoot":"","sources":["../../src/ui/commonMenus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;AAElC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAK9D,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commonMenus = void 0;
4
+ exports.commonMenus = {
5
+ 'yes_no': [
6
+ { id: 'Y', name: 'Yes' },
7
+ { id: 'N', name: 'No' }
8
+ ]
9
+ };
10
+ //# sourceMappingURL=commonMenus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonMenus.js","sourceRoot":"","sources":["../../src/ui/commonMenus.ts"],"names":[],"mappings":";;;AAIa,QAAA,WAAW,GAA2C;IAClE,QAAQ,EAAE;QACT,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAC;QACtB,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAC;KACrB;CACD,CAAA"}