@things-factory/modeller-ui 4.0.13 → 4.0.18

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.
@@ -2,16 +2,14 @@
2
2
  * @license Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
4
 
5
- import { LitElement, html, css } from 'lit-element'
6
-
7
5
  import '@material/mwc-icon'
8
-
9
6
  import '@polymer/paper-dropdown-menu/paper-dropdown-menu'
10
7
  import '@polymer/paper-item/paper-item'
11
-
12
8
  import '@things-factory/i18n-base'
13
9
  import './things-editor-color'
14
10
 
11
+ import { LitElement, css, html } from 'lit-element'
12
+
15
13
  /**
16
14
  * 테이블 셀의 좌,우,상,하 경계선의 스타일을 편집하는 컴포넌트이다.
17
15
  * Example:
@@ -288,14 +286,53 @@ class ThingsEditorTable extends LitElement {
288
286
  _onClickCell(e) {
289
287
  var target = e.target
290
288
 
291
- while (target && !target.hasAttribute('table-event') && target !== this) target = target.parentElement
292
-
293
- if (target === this || target === null) return
289
+ const event = target?.closest('[table-event]')?.getAttribute('id')
290
+ if (!event) {
291
+ return
292
+ }
294
293
 
295
294
  this.dispatchEvent(
296
- new CustomEvent('table-' + target.id, {
295
+ new CustomEvent('i-need-selected', {
297
296
  bubbles: true,
298
- composed: true
297
+ composed: true,
298
+ detail: {
299
+ callback: selected => {
300
+ const table = selected[0].parent
301
+
302
+ switch (event) {
303
+ case 'delete-row':
304
+ table.deleteRows(selected)
305
+ break
306
+ case 'delete-column':
307
+ table.deleteColumns(selected)
308
+ break
309
+ case 'insert-above':
310
+ table.insertCellsAbove(selected)
311
+ break
312
+ case 'insert-below':
313
+ table.insertCellsBelow(selected)
314
+ break
315
+ case 'insert-left':
316
+ table.insertCellsLeft(selected)
317
+ break
318
+ case 'insert-right':
319
+ table.insertCellsRight(selected)
320
+ break
321
+ case 'merge-cells':
322
+ table.mergeCells(selected)
323
+ break
324
+ case 'split-cells':
325
+ table.splitCells(selected)
326
+ break
327
+ case 'distribute-horizontal':
328
+ table.distributeHorizontal(selected)
329
+ break
330
+ case 'distribute-vertical':
331
+ table.distributeVertical(selected)
332
+ break
333
+ }
334
+ }
335
+ }
299
336
  })
300
337
  )
301
338
 
@@ -305,22 +342,10 @@ class ThingsEditorTable extends LitElement {
305
342
  _onClickType(e) {
306
343
  var target = e.target
307
344
 
308
- while (target && !target.hasAttribute('data-value') && target !== this) target = target.parentElement
309
-
310
- if (target === this || target === null) return
311
-
312
- this.dispatchEvent(
313
- new CustomEvent('table-cell-border-set', {
314
- bubbles: true,
315
- composed: true,
316
- detail: {
317
- type: target.getAttribute('data-value'),
318
- borderWidth: this.borderWidth,
319
- borderStyle: this.borderStyle,
320
- borderColor: this.borderColor
321
- }
322
- })
323
- )
345
+ const where = target?.closest('[data-value]')?.getAttribute('data-value')
346
+ if (!where) {
347
+ return
348
+ }
324
349
 
325
350
  this.dispatchEvent(
326
351
  new CustomEvent('i-need-selected', {
@@ -328,9 +353,17 @@ class ThingsEditorTable extends LitElement {
328
353
  composed: true,
329
354
  detail: {
330
355
  callback: selected => {
331
- console.log(selected)
332
- console.log(this.borderColor)
333
- console.log(target)
356
+ const table = selected[0].parent
357
+
358
+ table.setCellsStyle(
359
+ selected,
360
+ {
361
+ strokeStyle: this.borderColor,
362
+ lineDash: this.borderStyle,
363
+ lineWidth: this.borderWidth
364
+ },
365
+ where
366
+ )
334
367
  }
335
368
  }
336
369
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/modeller-ui",
3
- "version": "4.0.13",
3
+ "version": "4.0.18",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -29,7 +29,7 @@
29
29
  "@graphql-tools/url-loader": "^7.2.0",
30
30
  "@graphql-tools/wrap": "^8.1.1",
31
31
  "@material/mwc-icon": "^0.25.3",
32
- "@operato/property-editor": "^0.2.43",
32
+ "@operato/property-editor": "^0.2.49",
33
33
  "@polymer/iron-flex-layout": "^3.0.1",
34
34
  "@polymer/iron-form-element-behavior": "^3.0.1",
35
35
  "@polymer/iron-resizable-behavior": "^3.0.1",
@@ -43,9 +43,9 @@
43
43
  "@polymer/paper-ripple": "^3.0.2",
44
44
  "@polymer/paper-slider": "^3.0.1",
45
45
  "@polymer/polymer": "^3.3.1",
46
- "@things-factory/attachment-ui": "^4.0.13",
47
- "@things-factory/font-ui": "^4.0.13",
48
- "@things-factory/i18n-base": "^4.0.13",
46
+ "@things-factory/attachment-ui": "^4.0.18",
47
+ "@things-factory/font-ui": "^4.0.18",
48
+ "@things-factory/i18n-base": "^4.0.18",
49
49
  "ace-builds": "^1.4.11",
50
50
  "brace": "^0.11.1",
51
51
  "codemirror": "^5.59.1",
@@ -57,5 +57,5 @@
57
57
  "devDependencies": {
58
58
  "@types/codemirror": "^0.0.105"
59
59
  },
60
- "gitHead": "a542fdd4e7c447c3b571fe91c92f5919561bdc2c"
60
+ "gitHead": "6fc54f287739a57d1926d84dc50baf36156880ba"
61
61
  }