@hatiolab/things-scene 9.0.0-beta.36 → 9.0.0-beta.37
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/package.json +1 -1
- package/things-scene-min.js +11 -11
- package/things-scene-min.js.map +1 -1
- package/things-scene.mjs +11 -11
- package/things-scene.mjs.map +1 -1
- package/.cursorignore +0 -62
- package/.prettierrc +0 -21
- package/assets/icon-audio.png +0 -0
- package/assets/icon-gif-viewer.png +0 -0
- package/assets/images/spinner.png +0 -0
- package/babel.config.js +0 -23
- package/db.sqlite +0 -0
- package/dist/animation/animate.js +0 -63
- package/dist/animation/animate.js.map +0 -1
- package/dist/animation/animations/animation.js +0 -122
- package/dist/animation/animations/animation.js.map +0 -1
- package/dist/animation/animations/fade.js +0 -28
- package/dist/animation/animations/fade.js.map +0 -1
- package/dist/animation/animations/heartbeat.js +0 -28
- package/dist/animation/animations/heartbeat.js.map +0 -1
- package/dist/animation/animations/moving.js +0 -24
- package/dist/animation/animations/moving.js.map +0 -1
- package/dist/animation/animations/outline.js +0 -47
- package/dist/animation/animations/outline.js.map +0 -1
- package/dist/animation/animations/rotation.js +0 -22
- package/dist/animation/animations/rotation.js.map +0 -1
- package/dist/animation/animations/vibration.js +0 -31
- package/dist/animation/animations/vibration.js.map +0 -1
- package/dist/animation/compile.js +0 -31
- package/dist/animation/compile.js.map +0 -1
- package/dist/animation/delta.js +0 -51
- package/dist/animation/delta.js.map +0 -1
- package/dist/animation/index.js +0 -14
- package/dist/animation/index.js.map +0 -1
- package/dist/command/command-change.js +0 -33
- package/dist/command/command-change.js.map +0 -1
- package/dist/command/command-migrate.js +0 -103
- package/dist/command/command-migrate.js.map +0 -1
- package/dist/command/command.js +0 -18
- package/dist/command/command.js.map +0 -1
- package/dist/command/snapshot-commander.js +0 -84
- package/dist/command/snapshot-commander.js.map +0 -1
- package/dist/components/anchor/anchor.js +0 -105
- package/dist/components/anchor/anchor.js.map +0 -1
- package/dist/components/anchor/ellipse-anchors.js +0 -53
- package/dist/components/anchor/ellipse-anchors.js.map +0 -1
- package/dist/components/anchor/rect-anchors.js +0 -53
- package/dist/components/anchor/rect-anchors.js.map +0 -1
- package/dist/components/audio.js +0 -154
- package/dist/components/audio.js.map +0 -1
- package/dist/components/cloud.js +0 -44
- package/dist/components/cloud.js.map +0 -1
- package/dist/components/component.js +0 -1086
- package/dist/components/component.js.map +0 -1
- package/dist/components/container-abstract.js +0 -387
- package/dist/components/container-abstract.js.map +0 -1
- package/dist/components/container.js +0 -331
- package/dist/components/container.js.map +0 -1
- package/dist/components/data/data-mapping.js +0 -82
- package/dist/components/data/data-mapping.js.map +0 -1
- package/dist/components/data/data.js +0 -166
- package/dist/components/data/data.js.map +0 -1
- package/dist/components/data/evaluator.js +0 -103
- package/dist/components/data/evaluator.js.map +0 -1
- package/dist/components/donut.js +0 -104
- package/dist/components/donut.js.map +0 -1
- package/dist/components/drawer/draw-image-pendable.js +0 -20
- package/dist/components/drawer/draw-image-pendable.js.map +0 -1
- package/dist/components/drawer/effect.js +0 -19
- package/dist/components/drawer/effect.js.map +0 -1
- package/dist/components/drawer/fill.js +0 -228
- package/dist/components/drawer/fill.js.map +0 -1
- package/dist/components/drawer/format.js +0 -115
- package/dist/components/drawer/format.js.map +0 -1
- package/dist/components/drawer/line.js +0 -191
- package/dist/components/drawer/line.js.map +0 -1
- package/dist/components/drawer/stroke.js +0 -62
- package/dist/components/drawer/stroke.js.map +0 -1
- package/dist/components/drawer/text-wrapper.js +0 -51
- package/dist/components/drawer/text-wrapper.js.map +0 -1
- package/dist/components/drawer/text.js +0 -269
- package/dist/components/drawer/text.js.map +0 -1
- package/dist/components/ellipse.js +0 -110
- package/dist/components/ellipse.js.map +0 -1
- package/dist/components/file/ondropfile.js +0 -19
- package/dist/components/file/ondropfile.js.map +0 -1
- package/dist/components/fit/fit.js +0 -137
- package/dist/components/fit/fit.js.map +0 -1
- package/dist/components/geometry/transcoord.js +0 -339
- package/dist/components/geometry/transcoord.js.map +0 -1
- package/dist/components/geometry/union.js +0 -35
- package/dist/components/geometry/union.js.map +0 -1
- package/dist/components/gif-view.js +0 -128
- package/dist/components/gif-view.js.map +0 -1
- package/dist/components/global-ref.js +0 -154
- package/dist/components/global-ref.js.map +0 -1
- package/dist/components/group.js +0 -171
- package/dist/components/group.js.map +0 -1
- package/dist/components/html/elements.js +0 -24
- package/dist/components/html/elements.js.map +0 -1
- package/dist/components/html/fill.js +0 -126
- package/dist/components/html/fill.js.map +0 -1
- package/dist/components/html/reposition.js +0 -119
- package/dist/components/html/reposition.js.map +0 -1
- package/dist/components/html/shadow.js +0 -24
- package/dist/components/html/shadow.js.map +0 -1
- package/dist/components/html-overlay-container.js +0 -27
- package/dist/components/html-overlay-container.js.map +0 -1
- package/dist/components/html-overlay-element.js +0 -22
- package/dist/components/html-overlay-element.js.map +0 -1
- package/dist/components/image-view.js +0 -193
- package/dist/components/image-view.js.map +0 -1
- package/dist/components/index.js +0 -231
- package/dist/components/index.js.map +0 -1
- package/dist/components/info-window.js +0 -416
- package/dist/components/info-window.js.map +0 -1
- package/dist/components/line.js +0 -374
- package/dist/components/line.js.map +0 -1
- package/dist/components/local-ref.js +0 -114
- package/dist/components/local-ref.js.map +0 -1
- package/dist/components/mixins/connectable.js +0 -128
- package/dist/components/mixins/connectable.js.map +0 -1
- package/dist/components/mixins/data-source.js +0 -34
- package/dist/components/mixins/data-source.js.map +0 -1
- package/dist/components/mixins/html-element.js +0 -107
- package/dist/components/mixins/html-element.js.map +0 -1
- package/dist/components/mixins/move-handle.js +0 -73
- package/dist/components/mixins/move-handle.js.map +0 -1
- package/dist/components/mixins/rect-path.js +0 -113
- package/dist/components/mixins/rect-path.js.map +0 -1
- package/dist/components/mixins/value-holder.js +0 -81
- package/dist/components/mixins/value-holder.js.map +0 -1
- package/dist/components/mutater/bounds.js +0 -68
- package/dist/components/mutater/bounds.js.map +0 -1
- package/dist/components/mutater/path.js +0 -73
- package/dist/components/mutater/path.js.map +0 -1
- package/dist/components/ortholine.js +0 -763
- package/dist/components/ortholine.js.map +0 -1
- package/dist/components/outline/ellipse-outline.js +0 -23
- package/dist/components/outline/ellipse-outline.js.map +0 -1
- package/dist/components/outline/path-outline.js +0 -48
- package/dist/components/outline/path-outline.js.map +0 -1
- package/dist/components/path.js +0 -49
- package/dist/components/path.js.map +0 -1
- package/dist/components/polygon.js +0 -91
- package/dist/components/polygon.js.map +0 -1
- package/dist/components/polyline.js +0 -114
- package/dist/components/polyline.js.map +0 -1
- package/dist/components/popup.js +0 -160
- package/dist/components/popup.js.map +0 -1
- package/dist/components/rect.js +0 -72
- package/dist/components/rect.js.map +0 -1
- package/dist/components/retention/retention-manager.js +0 -81
- package/dist/components/retention/retention-manager.js.map +0 -1
- package/dist/components/root-container.js +0 -519
- package/dist/components/root-container.js.map +0 -1
- package/dist/components/ruler.js +0 -103
- package/dist/components/ruler.js.map +0 -1
- package/dist/components/shape.js +0 -97
- package/dist/components/shape.js.map +0 -1
- package/dist/components/star.js +0 -103
- package/dist/components/star.js.map +0 -1
- package/dist/components/text/substitutor.js +0 -92
- package/dist/components/text/substitutor.js.map +0 -1
- package/dist/components/text.js +0 -21
- package/dist/components/text.js.map +0 -1
- package/dist/components/triangle.js +0 -92
- package/dist/components/triangle.js.map +0 -1
- package/dist/const.js +0 -71
- package/dist/const.js.map +0 -1
- package/dist/core/collection.js +0 -28
- package/dist/core/collection.js.map +0 -1
- package/dist/core/debug.js +0 -12
- package/dist/core/debug.js.map +0 -1
- package/dist/core/deep-equals.js +0 -112
- package/dist/core/deep-equals.js.map +0 -1
- package/dist/core/dom-to-image.js +0 -617
- package/dist/core/dom-to-image.js.map +0 -1
- package/dist/core/event.js +0 -205
- package/dist/core/event.js.map +0 -1
- package/dist/core/index.js +0 -21
- package/dist/core/index.js.map +0 -1
- package/dist/core/list.js +0 -87
- package/dist/core/list.js.map +0 -1
- package/dist/core/logger.js +0 -29
- package/dist/core/logger.js.map +0 -1
- package/dist/core/memoize.js +0 -40
- package/dist/core/memoize.js.map +0 -1
- package/dist/core/mixin.js +0 -26
- package/dist/core/mixin.js.map +0 -1
- package/dist/core/obj-accessor.js +0 -26
- package/dist/core/obj-accessor.js.map +0 -1
- package/dist/core/reference-map.js +0 -147
- package/dist/core/reference-map.js.map +0 -1
- package/dist/core/round-rect.js +0 -62
- package/dist/core/round-rect.js.map +0 -1
- package/dist/core/safe-round.js +0 -10
- package/dist/core/safe-round.js.map +0 -1
- package/dist/core/script-loader.js +0 -148
- package/dist/core/script-loader.js.map +0 -1
- package/dist/core/snapshot-taker.js +0 -59
- package/dist/core/snapshot-taker.js.map +0 -1
- package/dist/core/stack.js +0 -18
- package/dist/core/stack.js.map +0 -1
- package/dist/core/timecapsule.js +0 -88
- package/dist/core/timecapsule.js.map +0 -1
- package/dist/core/utils.js +0 -309
- package/dist/core/utils.js.map +0 -1
- package/dist/decorator/anchors-decorator.js +0 -53
- package/dist/decorator/anchors-decorator.js.map +0 -1
- package/dist/decorator/bouncing-arrow-decorator.js +0 -52
- package/dist/decorator/bouncing-arrow-decorator.js.map +0 -1
- package/dist/decorator/data-spread-decorator.js +0 -69
- package/dist/decorator/data-spread-decorator.js.map +0 -1
- package/dist/decorator/decotag-decorator.js +0 -33
- package/dist/decorator/decotag-decorator.js.map +0 -1
- package/dist/decorator/index.js +0 -31
- package/dist/decorator/index.js.map +0 -1
- package/dist/decorator/link-decorator.js +0 -66
- package/dist/decorator/link-decorator.js.map +0 -1
- package/dist/effect/gradation.js +0 -37
- package/dist/effect/gradation.js.map +0 -1
- package/dist/effect/index.js +0 -23
- package/dist/effect/index.js.map +0 -1
- package/dist/effect/shadow.js +0 -33
- package/dist/effect/shadow.js.map +0 -1
- package/dist/effect/turn.js +0 -25
- package/dist/effect/turn.js.map +0 -1
- package/dist/event/event-engine.js +0 -76
- package/dist/event/event-engine.js.map +0 -1
- package/dist/event/event-pump.js +0 -92
- package/dist/event/event-pump.js.map +0 -1
- package/dist/event/event-tracker.js +0 -97
- package/dist/event/event-tracker.js.map +0 -1
- package/dist/event/index.js +0 -21
- package/dist/event/index.js.map +0 -1
- package/dist/event/ua-event-handler.js +0 -453
- package/dist/event/ua-event-handler.js.map +0 -1
- package/dist/event-map/animator-handler.js +0 -225
- package/dist/event-map/animator-handler.js.map +0 -1
- package/dist/event-map/animators/animated-icon.js +0 -265
- package/dist/event-map/animators/animated-icon.js.map +0 -1
- package/dist/event-map/animators/border-highlighting.js +0 -476
- package/dist/event-map/animators/border-highlighting.js.map +0 -1
- package/dist/event-map/animators/bouncing-arrow.js +0 -226
- package/dist/event-map/animators/bouncing-arrow.js.map +0 -1
- package/dist/event-map/event-map.js +0 -36
- package/dist/event-map/event-map.js.map +0 -1
- package/dist/event-map/index.js +0 -20
- package/dist/event-map/index.js.map +0 -1
- package/dist/event-map/move-handler.js +0 -233
- package/dist/event-map/move-handler.js.map +0 -1
- package/dist/event-map/paste-handler.js +0 -176
- package/dist/event-map/paste-handler.js.map +0 -1
- package/dist/event-map/shift-handler.js +0 -55
- package/dist/event-map/shift-handler.js.map +0 -1
- package/dist/event-map/text-editor-lite.js +0 -276
- package/dist/event-map/text-editor-lite.js.map +0 -1
- package/dist/event-map/zoom-handler.js +0 -49
- package/dist/event-map/zoom-handler.js.map +0 -1
- package/dist/index.js +0 -20
- package/dist/index.js.map +0 -1
- package/dist/layer/action/emphasize.js +0 -42
- package/dist/layer/action/emphasize.js.map +0 -1
- package/dist/layer/action/popup.js +0 -461
- package/dist/layer/action/popup.js.map +0 -1
- package/dist/layer/action/pressed.js +0 -31
- package/dist/layer/action/pressed.js.map +0 -1
- package/dist/layer/add-layer.js +0 -180
- package/dist/layer/add-layer.js.map +0 -1
- package/dist/layer/decotag-layer.js +0 -121
- package/dist/layer/decotag-layer.js.map +0 -1
- package/dist/layer/guide-layer.js +0 -292
- package/dist/layer/guide-layer.js.map +0 -1
- package/dist/layer/index.js +0 -70
- package/dist/layer/index.js.map +0 -1
- package/dist/layer/layer.js +0 -230
- package/dist/layer/layer.js.map +0 -1
- package/dist/layer/minimap-layer.js +0 -84
- package/dist/layer/minimap-layer.js.map +0 -1
- package/dist/layer/model-layer.js +0 -465
- package/dist/layer/model-layer.js.map +0 -1
- package/dist/layer/modeler/anchor-handler.js +0 -193
- package/dist/layer/modeler/anchor-handler.js.map +0 -1
- package/dist/layer/modeler/control-handler.js +0 -95
- package/dist/layer/modeler/control-handler.js.map +0 -1
- package/dist/layer/modeler/focus-outline.js +0 -41
- package/dist/layer/modeler/focus-outline.js.map +0 -1
- package/dist/layer/modeler/group-outline.js +0 -30
- package/dist/layer/modeler/group-outline.js.map +0 -1
- package/dist/layer/modeler/index.js +0 -56
- package/dist/layer/modeler/index.js.map +0 -1
- package/dist/layer/modeler/path-handler.js +0 -300
- package/dist/layer/modeler/path-handler.js.map +0 -1
- package/dist/layer/modeler/resizer.js +0 -333
- package/dist/layer/modeler/resizer.js.map +0 -1
- package/dist/layer/modeler/rotator.js +0 -134
- package/dist/layer/modeler/rotator.js.map +0 -1
- package/dist/layer/modeling-layer.js +0 -491
- package/dist/layer/modeling-layer.js.map +0 -1
- package/dist/layer/reaction-layer.js +0 -111
- package/dist/layer/reaction-layer.js.map +0 -1
- package/dist/layer/scroll-layer.js +0 -191
- package/dist/layer/scroll-layer.js.map +0 -1
- package/dist/layer/selection/selected-finder.js +0 -96
- package/dist/layer/selection/selected-finder.js.map +0 -1
- package/dist/layer/selection-layer.js +0 -373
- package/dist/layer/selection-layer.js.map +0 -1
- package/dist/layer/shift-layer.js +0 -83
- package/dist/layer/shift-layer.js.map +0 -1
- package/dist/layout/absolute.js +0 -30
- package/dist/layout/absolute.js.map +0 -1
- package/dist/layout/card.js +0 -52
- package/dist/layout/card.js.map +0 -1
- package/dist/layout/html-absolute.js +0 -32
- package/dist/layout/html-absolute.js.map +0 -1
- package/dist/layout/index.js +0 -56
- package/dist/layout/index.js.map +0 -1
- package/dist/layout/layout.js +0 -36
- package/dist/layout/layout.js.map +0 -1
- package/dist/layout/linear-horizontal.js +0 -56
- package/dist/layout/linear-horizontal.js.map +0 -1
- package/dist/layout/linear-vertical.js +0 -56
- package/dist/layout/linear-vertical.js.map +0 -1
- package/dist/layout/table.js +0 -106
- package/dist/layout/table.js.map +0 -1
- package/dist/license/license.js +0 -170
- package/dist/license/license.js.map +0 -1
- package/dist/model/compile.js +0 -40
- package/dist/model/compile.js.map +0 -1
- package/dist/model/duplicate.js +0 -19
- package/dist/model/duplicate.js.map +0 -1
- package/dist/model/index.js +0 -34
- package/dist/model/index.js.map +0 -1
- package/dist/model/selector.js +0 -104
- package/dist/model/selector.js.map +0 -1
- package/dist/style/compile.js +0 -14
- package/dist/style/compile.js.map +0 -1
- package/dist/style/index.js +0 -14
- package/dist/style/index.js.map +0 -1
- package/dist/things-scene/api/add-start.js +0 -18
- package/dist/things-scene/api/add-start.js.map +0 -1
- package/dist/things-scene/api/add.js +0 -71
- package/dist/things-scene/api/add.js.map +0 -1
- package/dist/things-scene/api/align.js +0 -116
- package/dist/things-scene/api/align.js.map +0 -1
- package/dist/things-scene/api/center-to.js +0 -50
- package/dist/things-scene/api/center-to.js.map +0 -1
- package/dist/things-scene/api/change.js +0 -27
- package/dist/things-scene/api/change.js.map +0 -1
- package/dist/things-scene/api/clipboard.js +0 -45
- package/dist/things-scene/api/clipboard.js.map +0 -1
- package/dist/things-scene/api/distribute.js +0 -57
- package/dist/things-scene/api/distribute.js.map +0 -1
- package/dist/things-scene/api/duplicate.js +0 -47
- package/dist/things-scene/api/duplicate.js.map +0 -1
- package/dist/things-scene/api/fullscreen.js +0 -26
- package/dist/things-scene/api/fullscreen.js.map +0 -1
- package/dist/things-scene/api/group.js +0 -91
- package/dist/things-scene/api/group.js.map +0 -1
- package/dist/things-scene/api/ids.js +0 -28
- package/dist/things-scene/api/ids.js.map +0 -1
- package/dist/things-scene/api/index.js +0 -192
- package/dist/things-scene/api/index.js.map +0 -1
- package/dist/things-scene/api/listener.js +0 -69
- package/dist/things-scene/api/listener.js.map +0 -1
- package/dist/things-scene/api/paste-start.js +0 -27
- package/dist/things-scene/api/paste-start.js.map +0 -1
- package/dist/things-scene/api/place.js +0 -98
- package/dist/things-scene/api/place.js.map +0 -1
- package/dist/things-scene/api/remove.js +0 -57
- package/dist/things-scene/api/remove.js.map +0 -1
- package/dist/things-scene/api/symmetry.js +0 -47
- package/dist/things-scene/api/symmetry.js.map +0 -1
- package/dist/things-scene/api/to-data-url.js +0 -76
- package/dist/things-scene/api/to-data-url.js.map +0 -1
- package/dist/things-scene/api/zorder.js +0 -68
- package/dist/things-scene/api/zorder.js.map +0 -1
- package/dist/things-scene/application-context.js +0 -168
- package/dist/things-scene/application-context.js.map +0 -1
- package/dist/things-scene/config.js +0 -18
- package/dist/things-scene/config.js.map +0 -1
- package/dist/things-scene/create.js +0 -67
- package/dist/things-scene/create.js.map +0 -1
- package/dist/things-scene/fps.js +0 -26
- package/dist/things-scene/fps.js.map +0 -1
- package/dist/things-scene/index.js +0 -152
- package/dist/things-scene/index.js.map +0 -1
- package/dist/things-scene/polyfill.js +0 -111
- package/dist/things-scene/polyfill.js.map +0 -1
- package/dist/things-scene/scene.js +0 -442
- package/dist/things-scene/scene.js.map +0 -1
- package/dist/things-scene/version.js +0 -12
- package/dist/things-scene/version.js.map +0 -1
- package/rollup.config.js +0 -67
- package/schema.graphql +0 -4606
- package/tsconfig.json +0 -31
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
/*
|
|
8
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
9
|
-
*/
|
|
10
|
-
/*
|
|
11
|
-
* DataSource 컴포넌트를 위한 Mixin임
|
|
12
|
-
*/
|
|
13
|
-
var _default = superclass => {
|
|
14
|
-
var A = class extends superclass {
|
|
15
|
-
_convertDataFormat(data, format) {
|
|
16
|
-
var formattedData;
|
|
17
|
-
switch (format) {
|
|
18
|
-
case 'json':
|
|
19
|
-
formattedData = JSON.parse(data);
|
|
20
|
-
break;
|
|
21
|
-
default:
|
|
22
|
-
formattedData = data;
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
return formattedData;
|
|
26
|
-
}
|
|
27
|
-
isDataSource() {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
return A;
|
|
32
|
-
};
|
|
33
|
-
exports.default = _default;
|
|
34
|
-
//# sourceMappingURL=data-source.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-source.js","names":["_default","superclass","A","_convertDataFormat","data","format","formattedData","JSON","parse","isDataSource","exports","default"],"sources":["../../../src/components/mixins/data-source.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n/*\n * DataSource 컴포넌트를 위한 Mixin임\n */\n\nexport default superclass => {\n var A = class extends superclass {\n _convertDataFormat(data, format) {\n var formattedData\n switch (format) {\n case 'json':\n formattedData = JSON.parse(data)\n break\n default:\n formattedData = data\n break\n }\n\n return formattedData\n }\n\n isDataSource() {\n return true\n }\n }\n\n return A\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AAFA,IAAAA,QAAA,GAIeC,UAAU,IAAI;EAC3B,IAAIC,CAAC,GAAG,cAAcD,UAAU,CAAC;IAC/BE,kBAAkBA,CAACC,IAAI,EAAEC,MAAM,EAAE;MAC/B,IAAIC,aAAa;MACjB,QAAQD,MAAM;QACZ,KAAK,MAAM;UACTC,aAAa,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAAC;UAChC;QACF;UACEE,aAAa,GAAGF,IAAI;UACpB;MACJ;MAEA,OAAOE,aAAa;IACtB;IAEAG,YAAYA,CAAA,EAAG;MACb,OAAO,IAAI;IACb;EACF,CAAC;EAED,OAAOP,CAAC;AACV,CAAC;AAAAQ,OAAA,CAAAC,OAAA,GAAAX,QAAA","ignoreList":[]}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.GESTURES = void 0;
|
|
7
|
-
var _const = require("../../const.js");
|
|
8
|
-
var _uaEventHandler = require("../../event/ua-event-handler.js");
|
|
9
|
-
var _reposition = _interopRequireDefault(require("../html/reposition.js"));
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
/*
|
|
12
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
const GESTURES = exports.GESTURES = ['mousemove', 'mouseup', 'mousedown', 'mouseout', 'wheel', 'tap', 'click', 'touchstart', 'touchmove', 'touchend', 'mouseenter', 'mouseleave', 'dragstart', 'dragmove', 'dragend', 'dblclick'];
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Mixin HTMLElement
|
|
19
|
-
*/
|
|
20
|
-
var _default = superclass => {
|
|
21
|
-
var A = class extends superclass {
|
|
22
|
-
isHTMLElement() {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
isShadowable() {
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
get element() {
|
|
29
|
-
return this._element;
|
|
30
|
-
}
|
|
31
|
-
set element(element) {
|
|
32
|
-
this._element = element;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// Overidable
|
|
36
|
-
get tagName() {
|
|
37
|
-
return this.get('type');
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Overidable
|
|
41
|
-
setElementProperties(element) {
|
|
42
|
-
throw new Error('Not Implemented Yet');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Overidable
|
|
46
|
-
createElement() {
|
|
47
|
-
this.element = document.createElement(this.tagName);
|
|
48
|
-
if (!this.element) return;
|
|
49
|
-
if (this.parent.isHTMLElement()) this.parent.element.appendChild(this.element);else this.root.model_layer.overlay.appendChild(this.element);
|
|
50
|
-
GESTURES.forEach(event => {
|
|
51
|
-
this.element.addEventListener(event, this.userInputEventHandler.bind(this));
|
|
52
|
-
});
|
|
53
|
-
_const.KEYEVENTS.forEach(event => {
|
|
54
|
-
this.element.addEventListener(event, this.userInputEventHandler.bind(this));
|
|
55
|
-
});
|
|
56
|
-
this.oncreate_element && this.oncreate_element(this.element);
|
|
57
|
-
}
|
|
58
|
-
userInputEventHandler(e) {
|
|
59
|
-
(0, _uaEventHandler.trigger)(this, e.type, e);
|
|
60
|
-
e.stopPropagation();
|
|
61
|
-
}
|
|
62
|
-
reposition() {
|
|
63
|
-
this.element && (0, _reposition.default)(this);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Overidable
|
|
67
|
-
disposeElement() {
|
|
68
|
-
var element = this.element;
|
|
69
|
-
element && element.parentElement && element.parentElement.removeChild(element);
|
|
70
|
-
delete this.element;
|
|
71
|
-
}
|
|
72
|
-
ready() {
|
|
73
|
-
super.ready();
|
|
74
|
-
!this.element && this.createElement();
|
|
75
|
-
if (this.parent.isHTMLElement()) this.parent.element.appendChild(this.element);else this.root.model_layer.overlay.appendChild(this.element);
|
|
76
|
-
this.setElementProperties(this.element);
|
|
77
|
-
this.reposition();
|
|
78
|
-
}
|
|
79
|
-
dispose() {
|
|
80
|
-
this.disposeElement(this);
|
|
81
|
-
super.dispose();
|
|
82
|
-
}
|
|
83
|
-
get hasTextProperty() {
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
get textHidden() {
|
|
87
|
-
return true;
|
|
88
|
-
}
|
|
89
|
-
get hidden() {
|
|
90
|
-
return super.hidden;
|
|
91
|
-
}
|
|
92
|
-
set hidden(hidden) {
|
|
93
|
-
super.hidden = hidden;
|
|
94
|
-
this.element.style.display = hidden ? 'none' : 'block';
|
|
95
|
-
}
|
|
96
|
-
onchange(after, before) {
|
|
97
|
-
this.element && this.setElementProperties(this.element);
|
|
98
|
-
this.reposition();
|
|
99
|
-
}
|
|
100
|
-
isDescendible(container) {
|
|
101
|
-
return container.isHTMLElement();
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
return A;
|
|
105
|
-
};
|
|
106
|
-
exports.default = _default;
|
|
107
|
-
//# sourceMappingURL=html-element.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-element.js","names":["_const","require","_uaEventHandler","_reposition","_interopRequireDefault","e","__esModule","default","GESTURES","exports","_default","superclass","A","isHTMLElement","isShadowable","element","_element","tagName","get","setElementProperties","Error","createElement","document","parent","appendChild","root","model_layer","overlay","forEach","event","addEventListener","userInputEventHandler","bind","KEYEVENTS","oncreate_element","trigger","type","stopPropagation","reposition","disposeElement","parentElement","removeChild","ready","dispose","hasTextProperty","textHidden","hidden","style","display","onchange","after","before","isDescendible","container"],"sources":["../../../src/components/mixins/html-element.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { KEYEVENTS } from '../../const.js'\nimport { trigger } from '../../event/ua-event-handler.js'\nimport reposition from '../html/reposition.js'\n\nexport const GESTURES = [\n 'mousemove',\n 'mouseup',\n 'mousedown',\n 'mouseout',\n 'wheel',\n 'tap',\n 'click',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'mouseenter',\n 'mouseleave',\n 'dragstart',\n 'dragmove',\n 'dragend',\n 'dblclick'\n]\n\n/**\n * Mixin HTMLElement\n */\nexport default superclass => {\n var A = class extends superclass {\n isHTMLElement() {\n return true\n }\n\n isShadowable() {\n return true\n }\n\n get element() {\n return this._element\n }\n\n set element(element) {\n this._element = element\n }\n\n // Overidable\n get tagName() {\n return this.get('type')\n }\n\n // Overidable\n setElementProperties(element) {\n throw new Error('Not Implemented Yet')\n }\n\n // Overidable\n createElement() {\n this.element = document.createElement(this.tagName)\n if (!this.element) return\n\n if (this.parent.isHTMLElement()) this.parent.element.appendChild(this.element)\n else this.root.model_layer.overlay.appendChild(this.element)\n\n GESTURES.forEach(event => {\n this.element.addEventListener(event, this.userInputEventHandler.bind(this))\n })\n\n KEYEVENTS.forEach(event => {\n this.element.addEventListener(event, this.userInputEventHandler.bind(this))\n })\n\n this.oncreate_element && this.oncreate_element(this.element)\n }\n\n userInputEventHandler(e) {\n trigger(this, e.type, e)\n e.stopPropagation()\n }\n\n reposition() {\n this.element && reposition(this)\n }\n\n // Overidable\n disposeElement() {\n var element = this.element\n element && element.parentElement && element.parentElement.removeChild(element)\n delete this.element\n }\n\n ready() {\n super.ready()\n !this.element && this.createElement()\n\n if (this.parent.isHTMLElement()) this.parent.element.appendChild(this.element)\n else this.root.model_layer.overlay.appendChild(this.element)\n\n this.setElementProperties(this.element)\n\n this.reposition()\n }\n\n dispose() {\n this.disposeElement(this)\n super.dispose()\n }\n\n get hasTextProperty() {\n return true\n }\n\n get textHidden() {\n return true\n }\n\n get hidden() {\n return super.hidden\n }\n\n set hidden(hidden) {\n super.hidden = hidden\n this.element.style.display = hidden ? 'none' : 'block'\n }\n\n onchange(after, before) {\n this.element && this.setElementProperties(this.element)\n\n this.reposition()\n }\n\n isDescendible(container) {\n return container.isHTMLElement()\n }\n }\n\n return A\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
/*
|
|
8
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
const LABEL_WIDTH = 25;
|
|
12
|
-
const LABEL_HEIGHT = 25;
|
|
13
|
-
const MOVE_HANDLE_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII=';
|
|
14
|
-
const IMAGE = new Image();
|
|
15
|
-
IMAGE.src = MOVE_HANDLE_IMAGE;
|
|
16
|
-
var _default = superclass => {
|
|
17
|
-
var A = class extends superclass {
|
|
18
|
-
postrender(context) {
|
|
19
|
-
super.postrender(context);
|
|
20
|
-
if (!this.app.isEditMode) return;
|
|
21
|
-
if (!this._focused) return;
|
|
22
|
-
if (!this.showMoveHandle) return;
|
|
23
|
-
this._draw_move_handle(context);
|
|
24
|
-
}
|
|
25
|
-
_draw_move_handle(context) {
|
|
26
|
-
var {
|
|
27
|
-
left,
|
|
28
|
-
top,
|
|
29
|
-
width
|
|
30
|
-
} = this.bounds;
|
|
31
|
-
context.save();
|
|
32
|
-
// 이동 핸들 그리기
|
|
33
|
-
context.beginPath();
|
|
34
|
-
context.globalAlpha = 1;
|
|
35
|
-
context.rect(left + width, top, LABEL_WIDTH, LABEL_HEIGHT);
|
|
36
|
-
let color = 255 - 20 % 255;
|
|
37
|
-
context.fillStyle = `rgba(${color}, ${color}, ${color}, 1)`;
|
|
38
|
-
context.fill();
|
|
39
|
-
|
|
40
|
-
// 아이콘 그리기
|
|
41
|
-
context.drawImage(IMAGE, left + width + LABEL_WIDTH * 0.15, top + LABEL_HEIGHT * 0.15, LABEL_WIDTH * 0.7, LABEL_HEIGHT * 0.7);
|
|
42
|
-
context.closePath();
|
|
43
|
-
context.restore();
|
|
44
|
-
}
|
|
45
|
-
contains(x, y) {
|
|
46
|
-
var contains = super.contains(x, y);
|
|
47
|
-
if (this.app.isViewMode) {
|
|
48
|
-
return contains;
|
|
49
|
-
}
|
|
50
|
-
if (!contains) {
|
|
51
|
-
var {
|
|
52
|
-
left,
|
|
53
|
-
top,
|
|
54
|
-
width,
|
|
55
|
-
height
|
|
56
|
-
} = this.bounds;
|
|
57
|
-
var right = left + width;
|
|
58
|
-
var h = LABEL_HEIGHT;
|
|
59
|
-
if (this.showMoveHandle)
|
|
60
|
-
// 이동 핸들러 영역에 포함되는지
|
|
61
|
-
contains = x < Math.max(right + LABEL_WIDTH, right) && x > Math.min(right + LABEL_WIDTH, right) && y < Math.max(top + h, top) && y > Math.min(top + h, top);
|
|
62
|
-
}
|
|
63
|
-
if (this._focustd !== contains) {
|
|
64
|
-
this._focused = contains;
|
|
65
|
-
this.invalidate();
|
|
66
|
-
}
|
|
67
|
-
return contains;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
return A;
|
|
71
|
-
};
|
|
72
|
-
exports.default = _default;
|
|
73
|
-
//# sourceMappingURL=move-handle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"move-handle.js","names":["LABEL_WIDTH","LABEL_HEIGHT","MOVE_HANDLE_IMAGE","IMAGE","Image","src","_default","superclass","A","postrender","context","app","isEditMode","_focused","showMoveHandle","_draw_move_handle","left","top","width","bounds","save","beginPath","globalAlpha","rect","color","fillStyle","fill","drawImage","closePath","restore","contains","x","y","isViewMode","height","right","h","Math","max","min","_focustd","invalidate","exports","default"],"sources":["../../../src/components/mixins/move-handle.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nconst LABEL_WIDTH = 25\nconst LABEL_HEIGHT = 25\nconst MOVE_HANDLE_IMAGE =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII='\nconst IMAGE = new Image()\nIMAGE.src = MOVE_HANDLE_IMAGE\n\nexport default superclass => {\n var A = class extends superclass {\n postrender(context) {\n super.postrender(context)\n\n if (!this.app.isEditMode) return\n\n if (!this._focused) return\n\n if (!this.showMoveHandle) return\n\n this._draw_move_handle(context)\n }\n\n _draw_move_handle(context) {\n var { left, top, width } = this.bounds\n\n context.save()\n // 이동 핸들 그리기\n context.beginPath()\n\n context.globalAlpha = 1\n context.rect(left + width, top, LABEL_WIDTH, LABEL_HEIGHT)\n\n let color = 255 - (20 % 255)\n context.fillStyle = `rgba(${color}, ${color}, ${color}, 1)`\n context.fill()\n\n // 아이콘 그리기\n context.drawImage(\n IMAGE,\n left + width + LABEL_WIDTH * 0.15,\n top + LABEL_HEIGHT * 0.15,\n LABEL_WIDTH * 0.7,\n LABEL_HEIGHT * 0.7\n )\n context.closePath()\n\n context.restore()\n }\n\n contains(x, y) {\n var contains = super.contains(x, y)\n\n if (this.app.isViewMode) {\n return contains\n }\n\n if (!contains) {\n var { left, top, width, height } = this.bounds\n var right = left + width\n var h = LABEL_HEIGHT\n\n if (this.showMoveHandle)\n // 이동 핸들러 영역에 포함되는지\n contains =\n x < Math.max(right + LABEL_WIDTH, right) &&\n x > Math.min(right + LABEL_WIDTH, right) &&\n y < Math.max(top + h, top) &&\n y > Math.min(top + h, top)\n }\n\n if (this._focustd !== contains) {\n this._focused = contains\n this.invalidate()\n }\n\n return contains\n }\n }\n\n return A\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var memoize = _interopRequireWildcard(require("../../core/memoize.js"));
|
|
8
|
-
var _safeRound = require("../../core/safe-round.js");
|
|
9
|
-
var _rectAnchors = _interopRequireDefault(require("../anchor/rect-anchors.js"));
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
-
/**
|
|
14
|
-
* 주의 : RectPath를 mixin한 컴포넌트는 'path'를 memoize해서는 안된다.
|
|
15
|
-
*/
|
|
16
|
-
var _default = superclass => {
|
|
17
|
-
var A = class extends superclass {
|
|
18
|
-
contains(x, y) {
|
|
19
|
-
var {
|
|
20
|
-
left,
|
|
21
|
-
top,
|
|
22
|
-
width,
|
|
23
|
-
height,
|
|
24
|
-
lineWidth = 0
|
|
25
|
-
} = this.state;
|
|
26
|
-
var extend = lineWidth / 2;
|
|
27
|
-
return x < Math.max(left + width, left) + extend && x > Math.min(left + width, left) - extend && y < Math.max(top + height, top) + extend && y > Math.min(top + height, top) - extend;
|
|
28
|
-
}
|
|
29
|
-
set path(path) {
|
|
30
|
-
var left_top = path[0];
|
|
31
|
-
var right_bottom = path[2];
|
|
32
|
-
this.set({
|
|
33
|
-
left: left_top.x,
|
|
34
|
-
top: left_top.y,
|
|
35
|
-
width: right_bottom.x - left_top.x,
|
|
36
|
-
height: right_bottom.y - left_top.y
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
get path() {
|
|
40
|
-
var {
|
|
41
|
-
left = 0,
|
|
42
|
-
top = 0,
|
|
43
|
-
width = 0,
|
|
44
|
-
height = 0
|
|
45
|
-
} = this.state;
|
|
46
|
-
return [{
|
|
47
|
-
x: left,
|
|
48
|
-
y: top
|
|
49
|
-
}, {
|
|
50
|
-
x: left + width,
|
|
51
|
-
y: top
|
|
52
|
-
}, {
|
|
53
|
-
x: left + width,
|
|
54
|
-
y: top + height
|
|
55
|
-
}, {
|
|
56
|
-
x: left,
|
|
57
|
-
y: top + height
|
|
58
|
-
}];
|
|
59
|
-
}
|
|
60
|
-
get anchors() {
|
|
61
|
-
return (0, _rectAnchors.default)(this);
|
|
62
|
-
}
|
|
63
|
-
get bounds() {
|
|
64
|
-
const {
|
|
65
|
-
left = 0,
|
|
66
|
-
top = 0,
|
|
67
|
-
width = 0,
|
|
68
|
-
height = 0
|
|
69
|
-
} = this.state;
|
|
70
|
-
return {
|
|
71
|
-
left,
|
|
72
|
-
top,
|
|
73
|
-
width,
|
|
74
|
-
height
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
set bounds(bounds) {
|
|
78
|
-
this.set({
|
|
79
|
-
left: 0,
|
|
80
|
-
top: 0,
|
|
81
|
-
width: 0,
|
|
82
|
-
height: 0,
|
|
83
|
-
...bounds
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
render(ctx) {
|
|
87
|
-
/* Due to performance issues, instead of using the renderer of the shape,
|
|
88
|
-
the render method of the rect-path itself is defined. */
|
|
89
|
-
var {
|
|
90
|
-
round = 0
|
|
91
|
-
} = this.model;
|
|
92
|
-
var {
|
|
93
|
-
left,
|
|
94
|
-
top,
|
|
95
|
-
width,
|
|
96
|
-
height
|
|
97
|
-
} = this.bounds;
|
|
98
|
-
ctx.translate(left, top);
|
|
99
|
-
ctx.beginPath();
|
|
100
|
-
round = (0, _safeRound.safeRound)(round, width, height);
|
|
101
|
-
if (round > 0) {
|
|
102
|
-
ctx.roundRect(0, 0, width, height, round);
|
|
103
|
-
} else {
|
|
104
|
-
ctx.rect(0, 0, width, height);
|
|
105
|
-
}
|
|
106
|
-
ctx.translate(-left, -top);
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
memoize.intercept(A.prototype, 'path', false);
|
|
110
|
-
return A;
|
|
111
|
-
};
|
|
112
|
-
exports.default = _default;
|
|
113
|
-
//# sourceMappingURL=rect-path.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rect-path.js","names":["memoize","_interopRequireWildcard","require","_safeRound","_rectAnchors","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_default","superclass","A","contains","x","y","left","top","width","height","lineWidth","state","extend","Math","max","min","path","left_top","right_bottom","anchors","rectAnchors","bounds","render","ctx","round","model","translate","beginPath","safeRound","roundRect","rect","intercept","prototype","exports"],"sources":["../../../src/components/mixins/rect-path.js"],"sourcesContent":["import * as memoize from '../../core/memoize.js'\nimport { safeRound } from '../../core/safe-round.js'\nimport rectAnchors from '../anchor/rect-anchors.js'\n\n/**\n * 주의 : RectPath를 mixin한 컴포넌트는 'path'를 memoize해서는 안된다.\n */\nexport default superclass => {\n var A = class extends superclass {\n contains(x, y) {\n var { left, top, width, height, lineWidth = 0 } = this.state\n var extend = lineWidth / 2\n\n return (\n x < Math.max(left + width, left) + extend &&\n x > Math.min(left + width, left) - extend &&\n y < Math.max(top + height, top) + extend &&\n y > Math.min(top + height, top) - extend\n )\n }\n\n set path(path) {\n var left_top = path[0]\n var right_bottom = path[2]\n\n this.set({\n left: left_top.x,\n top: left_top.y,\n width: right_bottom.x - left_top.x,\n height: right_bottom.y - left_top.y\n })\n }\n\n get path() {\n var { left = 0, top = 0, width = 0, height = 0 } = this.state\n\n return [\n {\n x: left,\n y: top\n },\n {\n x: left + width,\n y: top\n },\n {\n x: left + width,\n y: top + height\n },\n {\n x: left,\n y: top + height\n }\n ]\n }\n\n get anchors() {\n return rectAnchors(this)\n }\n\n get bounds() {\n const { left = 0, top = 0, width = 0, height = 0 } = this.state\n\n return {\n left,\n top,\n width,\n height\n }\n }\n\n set bounds(bounds) {\n this.set({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n ...bounds\n })\n }\n\n render(ctx) {\n /* Due to performance issues, instead of using the renderer of the shape, \n the render method of the rect-path itself is defined. */\n var { round = 0 } = this.model\n\n var { left, top, width, height } = this.bounds\n\n ctx.translate(left, top)\n ctx.beginPath()\n\n round = safeRound(round, width, height)\n\n if (round > 0) {\n ctx.roundRect(0, 0, width, height, round)\n } else {\n ctx.rect(0, 0, width, height)\n }\n\n ctx.translate(-left, -top)\n }\n }\n\n memoize.intercept(A.prototype, 'path', false)\n\n return A\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _utils = require("../../core/utils.js");
|
|
8
|
-
var _substitutor = require("../text/substitutor.js");
|
|
9
|
-
/*
|
|
10
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
11
|
-
*/
|
|
12
|
-
/*
|
|
13
|
-
* ValueHolder 단일 숫자값을 value라는 속성으로 가지는 컴포넌트를 위한 Mixin임
|
|
14
|
-
* value 속성을 가지는 컴포넌트는 다음의 특징을 갖는 것을 암묵적으로 동의한다.
|
|
15
|
-
*
|
|
16
|
-
* 1. value 속성은 Number 타입니다.
|
|
17
|
-
* 1. value 속성은 expression을 통해서 컴포넌트 자신의 속성을 접근할 수 있고, 다른 컴포넌트의 data 속성을 접근할 수 있다.
|
|
18
|
-
* 1. value 속성을 가지는 컴포넌트는 값 변화에 대해서 animation을 사용할 수 있다.
|
|
19
|
-
*
|
|
20
|
-
* TODO. min, max 값을 가지도록 한다.
|
|
21
|
-
* TODO. animation 설정을 오버라이드 할 수 있도록 한다.
|
|
22
|
-
*/
|
|
23
|
-
var _default = superclass => {
|
|
24
|
-
var A = class extends superclass {
|
|
25
|
-
animOnValueChange(value, animFromBase = false, base) {
|
|
26
|
-
if (value == this._lastValue) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
if (animFromBase) {
|
|
30
|
-
var diff = value - (Number(base) || 0);
|
|
31
|
-
} else {
|
|
32
|
-
var diff = value - (this._lastValue || 0);
|
|
33
|
-
}
|
|
34
|
-
this._lastValue = value;
|
|
35
|
-
this._anim_alpha = -diff;
|
|
36
|
-
this.animate({
|
|
37
|
-
step: delta => {
|
|
38
|
-
this._anim_alpha = diff * (delta - 1);
|
|
39
|
-
this.invalidate();
|
|
40
|
-
},
|
|
41
|
-
duration: 1000,
|
|
42
|
-
delta: 'circ',
|
|
43
|
-
options: {
|
|
44
|
-
x: 1
|
|
45
|
-
},
|
|
46
|
-
ease: 'out'
|
|
47
|
-
}).start();
|
|
48
|
-
}
|
|
49
|
-
dispose() {
|
|
50
|
-
super.dispose();
|
|
51
|
-
delete this._value_substitutor;
|
|
52
|
-
}
|
|
53
|
-
onchange(after, before) {
|
|
54
|
-
if (after.hasOwnProperty('value')) delete this._value_substitutor;
|
|
55
|
-
}
|
|
56
|
-
get animAlpha() {
|
|
57
|
-
return this._anim_alpha || 0;
|
|
58
|
-
}
|
|
59
|
-
get animValue() {
|
|
60
|
-
/* this.value 를 사용해서는 안된다. (성능 효율을 위해서.)*/
|
|
61
|
-
return (this._lastValue || 0) + (this._anim_alpha || 0);
|
|
62
|
-
}
|
|
63
|
-
defaultValueSubstitutor() {
|
|
64
|
-
return this.getState('value');
|
|
65
|
-
}
|
|
66
|
-
get valueSubstitutor() {
|
|
67
|
-
if (!this._value_substitutor) this._value_substitutor = (0, _substitutor.buildSubstitutor)(this.getState('value'), this) || this.defaultValueSubstitutor;
|
|
68
|
-
return this._value_substitutor;
|
|
69
|
-
}
|
|
70
|
-
get value() {
|
|
71
|
-
return Number(this.valueSubstitutor()) || 0;
|
|
72
|
-
}
|
|
73
|
-
set value(value) {
|
|
74
|
-
delete this._value_substitutor;
|
|
75
|
-
this.setState('value', Number((0, _utils.objToVal)(value)));
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
return A;
|
|
79
|
-
};
|
|
80
|
-
exports.default = _default;
|
|
81
|
-
//# sourceMappingURL=value-holder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"value-holder.js","names":["_utils","require","_substitutor","_default","superclass","A","animOnValueChange","value","animFromBase","base","_lastValue","diff","Number","_anim_alpha","animate","step","delta","invalidate","duration","options","x","ease","start","dispose","_value_substitutor","onchange","after","before","hasOwnProperty","animAlpha","animValue","defaultValueSubstitutor","getState","valueSubstitutor","buildSubstitutor","setState","objToVal","exports","default"],"sources":["../../../src/components/mixins/value-holder.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n/*\n * ValueHolder 단일 숫자값을 value라는 속성으로 가지는 컴포넌트를 위한 Mixin임\n * value 속성을 가지는 컴포넌트는 다음의 특징을 갖는 것을 암묵적으로 동의한다.\n *\n * 1. value 속성은 Number 타입니다.\n * 1. value 속성은 expression을 통해서 컴포넌트 자신의 속성을 접근할 수 있고, 다른 컴포넌트의 data 속성을 접근할 수 있다.\n * 1. value 속성을 가지는 컴포넌트는 값 변화에 대해서 animation을 사용할 수 있다.\n *\n * TODO. min, max 값을 가지도록 한다.\n * TODO. animation 설정을 오버라이드 할 수 있도록 한다.\n */\n\nimport { objToVal } from '../../core/utils.js'\nimport { buildSubstitutor } from '../text/substitutor.js'\n\nexport default superclass => {\n var A = class extends superclass {\n animOnValueChange(value, animFromBase = false, base) {\n if (value == this._lastValue) {\n return\n }\n\n if (animFromBase) {\n var diff = value - (Number(base) || 0)\n } else {\n var diff = value - (this._lastValue || 0)\n }\n\n this._lastValue = value\n this._anim_alpha = -diff\n\n this.animate({\n step: delta => {\n this._anim_alpha = diff * (delta - 1)\n this.invalidate()\n },\n duration: 1000,\n delta: 'circ',\n options: {\n x: 1\n },\n ease: 'out'\n }).start()\n }\n\n dispose() {\n super.dispose()\n\n delete this._value_substitutor\n }\n\n onchange(after, before) {\n if (after.hasOwnProperty('value')) delete this._value_substitutor\n }\n\n get animAlpha() {\n return this._anim_alpha || 0\n }\n\n get animValue() {\n /* this.value 를 사용해서는 안된다. (성능 효율을 위해서.)*/\n return (this._lastValue || 0) + (this._anim_alpha || 0)\n }\n\n defaultValueSubstitutor() {\n return this.getState('value')\n }\n\n get valueSubstitutor() {\n if (!this._value_substitutor)\n this._value_substitutor = buildSubstitutor(this.getState('value'), this) || this.defaultValueSubstitutor\n\n return this._value_substitutor\n }\n\n get value() {\n return Number(this.valueSubstitutor()) || 0\n }\n\n set value(value) {\n delete this._value_substitutor\n this.setState('value', Number(objToVal(value)))\n }\n }\n\n return A\n}\n"],"mappings":";;;;;;AAgBA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAjBA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAAAE,QAAA,GAeeC,UAAU,IAAI;EAC3B,IAAIC,CAAC,GAAG,cAAcD,UAAU,CAAC;IAC/BE,iBAAiBA,CAACC,KAAK,EAAEC,YAAY,GAAG,KAAK,EAAEC,IAAI,EAAE;MACnD,IAAIF,KAAK,IAAI,IAAI,CAACG,UAAU,EAAE;QAC5B;MACF;MAEA,IAAIF,YAAY,EAAE;QAChB,IAAIG,IAAI,GAAGJ,KAAK,IAAIK,MAAM,CAACH,IAAI,CAAC,IAAI,CAAC,CAAC;MACxC,CAAC,MAAM;QACL,IAAIE,IAAI,GAAGJ,KAAK,IAAI,IAAI,CAACG,UAAU,IAAI,CAAC,CAAC;MAC3C;MAEA,IAAI,CAACA,UAAU,GAAGH,KAAK;MACvB,IAAI,CAACM,WAAW,GAAG,CAACF,IAAI;MAExB,IAAI,CAACG,OAAO,CAAC;QACXC,IAAI,EAAEC,KAAK,IAAI;UACb,IAAI,CAACH,WAAW,GAAGF,IAAI,IAAIK,KAAK,GAAG,CAAC,CAAC;UACrC,IAAI,CAACC,UAAU,CAAC,CAAC;QACnB,CAAC;QACDC,QAAQ,EAAE,IAAI;QACdF,KAAK,EAAE,MAAM;QACbG,OAAO,EAAE;UACPC,CAAC,EAAE;QACL,CAAC;QACDC,IAAI,EAAE;MACR,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACZ;IAEAC,OAAOA,CAAA,EAAG;MACR,KAAK,CAACA,OAAO,CAAC,CAAC;MAEf,OAAO,IAAI,CAACC,kBAAkB;IAChC;IAEAC,QAAQA,CAACC,KAAK,EAAEC,MAAM,EAAE;MACtB,IAAID,KAAK,CAACE,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,IAAI,CAACJ,kBAAkB;IACnE;IAEA,IAAIK,SAASA,CAAA,EAAG;MACd,OAAO,IAAI,CAAChB,WAAW,IAAI,CAAC;IAC9B;IAEA,IAAIiB,SAASA,CAAA,EAAG;MACd;MACA,OAAO,CAAC,IAAI,CAACpB,UAAU,IAAI,CAAC,KAAK,IAAI,CAACG,WAAW,IAAI,CAAC,CAAC;IACzD;IAEAkB,uBAAuBA,CAAA,EAAG;MACxB,OAAO,IAAI,CAACC,QAAQ,CAAC,OAAO,CAAC;IAC/B;IAEA,IAAIC,gBAAgBA,CAAA,EAAG;MACrB,IAAI,CAAC,IAAI,CAACT,kBAAkB,EAC1B,IAAI,CAACA,kBAAkB,GAAG,IAAAU,6BAAgB,EAAC,IAAI,CAACF,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAACD,uBAAuB;MAE1G,OAAO,IAAI,CAACP,kBAAkB;IAChC;IAEA,IAAIjB,KAAKA,CAAA,EAAG;MACV,OAAOK,MAAM,CAAC,IAAI,CAACqB,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C;IAEA,IAAI1B,KAAKA,CAACA,KAAK,EAAE;MACf,OAAO,IAAI,CAACiB,kBAAkB;MAC9B,IAAI,CAACW,QAAQ,CAAC,OAAO,EAAEvB,MAAM,CAAC,IAAAwB,eAAQ,EAAC7B,KAAK,CAAC,CAAC,CAAC;IACjD;EACF,CAAC;EAED,OAAOF,CAAC;AACV,CAAC;AAAAgC,OAAA,CAAAC,OAAA,GAAAnC,QAAA","ignoreList":[]}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = mutateBounds;
|
|
7
|
-
var _transcoord = require("../geometry/transcoord.js");
|
|
8
|
-
/*
|
|
9
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
* 바운드의 변경이, 컴포넌트의 현재 컴포넌트 rotation의 영향을 받아서 변형되어 보이지 않도록 하기위한 함수이다.
|
|
14
|
-
* 마치 현재 각도 상태에서 바운드변경을 일으키는 것처럼 보이게된다.
|
|
15
|
-
*
|
|
16
|
-
* logic에서는 컴포넌트 좌표 상태에서 바운드 변화를 제공한다.
|
|
17
|
-
* context 만약, 그리기 상태에서 mutateBounds를 사용하고, logic에서 사용해야 한다면, 제공한다.
|
|
18
|
-
*
|
|
19
|
-
* 일반적으로, 컴포넌트내 부분적인 바운드의 변화도 현재 컴포넌트의 rotation에 따라서,
|
|
20
|
-
* 전체적인 변화를 보이는 경우가 많다. 가시적으로 보이는 전체적인 모양을 고정하고 부분적인 바운드의 변경만이 화면에 적용되도록 하기 위해서 사용한다.
|
|
21
|
-
* 그렇게 하기 위해서, mutateBounds 내부적으로, bounds 전체에 대해서 변화가 발생하게 된다.
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
function mutateBounds(logic, context) {
|
|
25
|
-
var bounds = this.bounds;
|
|
26
|
-
var rotatePoint = this.rotatePoint;
|
|
27
|
-
var rotation = this.get('rotation');
|
|
28
|
-
var scale = this.get('scale');
|
|
29
|
-
if (logic) {
|
|
30
|
-
var new_bounds = logic.call(context, bounds);
|
|
31
|
-
if (new_bounds) bounds = new_bounds;
|
|
32
|
-
}
|
|
33
|
-
var {
|
|
34
|
-
left,
|
|
35
|
-
top,
|
|
36
|
-
width,
|
|
37
|
-
height
|
|
38
|
-
} = bounds;
|
|
39
|
-
var coords = [{
|
|
40
|
-
x: left,
|
|
41
|
-
y: top
|
|
42
|
-
}, {
|
|
43
|
-
x: left + width,
|
|
44
|
-
y: top + height
|
|
45
|
-
}];
|
|
46
|
-
coords = coords.map(point => {
|
|
47
|
-
return (0, _transcoord.transcoordRR)(point.x, point.y, rotatePoint, rotation, scale);
|
|
48
|
-
});
|
|
49
|
-
var left_top = coords[0];
|
|
50
|
-
var right_bottom = coords[1];
|
|
51
|
-
rotatePoint = {
|
|
52
|
-
x: (left_top.x + right_bottom.x) / 2,
|
|
53
|
-
y: (left_top.y + right_bottom.y) / 2
|
|
54
|
-
};
|
|
55
|
-
coords = coords.map(point => {
|
|
56
|
-
// 변경된 rotatePoint에 대해서 다시 transcoord함.
|
|
57
|
-
return (0, _transcoord.transcoordR)(point.x, point.y, rotatePoint, rotation, scale);
|
|
58
|
-
});
|
|
59
|
-
left_top = coords[0];
|
|
60
|
-
right_bottom = coords[1];
|
|
61
|
-
this.bounds = {
|
|
62
|
-
left: left_top.x,
|
|
63
|
-
top: left_top.y,
|
|
64
|
-
width: right_bottom.x - left_top.x,
|
|
65
|
-
height: right_bottom.y - left_top.y
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=bounds.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bounds.js","names":["_transcoord","require","mutateBounds","logic","context","bounds","rotatePoint","rotation","get","scale","new_bounds","call","left","top","width","height","coords","x","y","map","point","transcoordRR","left_top","right_bottom","transcoordR"],"sources":["../../../src/components/mutater/bounds.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n/*\n * 바운드의 변경이, 컴포넌트의 현재 컴포넌트 rotation의 영향을 받아서 변형되어 보이지 않도록 하기위한 함수이다.\n * 마치 현재 각도 상태에서 바운드변경을 일으키는 것처럼 보이게된다.\n *\n * logic에서는 컴포넌트 좌표 상태에서 바운드 변화를 제공한다.\n * context 만약, 그리기 상태에서 mutateBounds를 사용하고, logic에서 사용해야 한다면, 제공한다.\n *\n * 일반적으로, 컴포넌트내 부분적인 바운드의 변화도 현재 컴포넌트의 rotation에 따라서,\n * 전체적인 변화를 보이는 경우가 많다. 가시적으로 보이는 전체적인 모양을 고정하고 부분적인 바운드의 변경만이 화면에 적용되도록 하기 위해서 사용한다.\n * 그렇게 하기 위해서, mutateBounds 내부적으로, bounds 전체에 대해서 변화가 발생하게 된다.\n */\n\nimport { transcoordR, transcoordRR } from '../geometry/transcoord.js'\n\nexport default function mutateBounds(logic, context) {\n var bounds = this.bounds\n var rotatePoint = this.rotatePoint\n var rotation = this.get('rotation')\n var scale = this.get('scale')\n\n if (logic) {\n var new_bounds = logic.call(context, bounds)\n if (new_bounds) bounds = new_bounds\n }\n\n var { left, top, width, height } = bounds\n\n var coords = [\n {\n x: left,\n y: top\n },\n {\n x: left + width,\n y: top + height\n }\n ]\n\n coords = coords.map(point => {\n return transcoordRR(point.x, point.y, rotatePoint, rotation, scale)\n })\n\n var left_top = coords[0]\n var right_bottom = coords[1]\n\n rotatePoint = {\n x: (left_top.x + right_bottom.x) / 2,\n y: (left_top.y + right_bottom.y) / 2\n }\n\n coords = coords.map(point => {\n // 변경된 rotatePoint에 대해서 다시 transcoord함.\n return transcoordR(point.x, point.y, rotatePoint, rotation, scale)\n })\n\n left_top = coords[0]\n right_bottom = coords[1]\n\n this.bounds = {\n left: left_top.x,\n top: left_top.y,\n width: right_bottom.x - left_top.x,\n height: right_bottom.y - left_top.y\n }\n}\n"],"mappings":";;;;;;AAgBA,IAAAA,WAAA,GAAAC,OAAA;AAhBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIe,SAASC,YAAYA,CAACC,KAAK,EAAEC,OAAO,EAAE;EACnD,IAAIC,MAAM,GAAG,IAAI,CAACA,MAAM;EACxB,IAAIC,WAAW,GAAG,IAAI,CAACA,WAAW;EAClC,IAAIC,QAAQ,GAAG,IAAI,CAACC,GAAG,CAAC,UAAU,CAAC;EACnC,IAAIC,KAAK,GAAG,IAAI,CAACD,GAAG,CAAC,OAAO,CAAC;EAE7B,IAAIL,KAAK,EAAE;IACT,IAAIO,UAAU,GAAGP,KAAK,CAACQ,IAAI,CAACP,OAAO,EAAEC,MAAM,CAAC;IAC5C,IAAIK,UAAU,EAAEL,MAAM,GAAGK,UAAU;EACrC;EAEA,IAAI;IAAEE,IAAI;IAAEC,GAAG;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGV,MAAM;EAEzC,IAAIW,MAAM,GAAG,CACX;IACEC,CAAC,EAAEL,IAAI;IACPM,CAAC,EAAEL;EACL,CAAC,EACD;IACEI,CAAC,EAAEL,IAAI,GAAGE,KAAK;IACfI,CAAC,EAAEL,GAAG,GAAGE;EACX,CAAC,CACF;EAEDC,MAAM,GAAGA,MAAM,CAACG,GAAG,CAACC,KAAK,IAAI;IAC3B,OAAO,IAAAC,wBAAY,EAACD,KAAK,CAACH,CAAC,EAAEG,KAAK,CAACF,CAAC,EAAEZ,WAAW,EAAEC,QAAQ,EAAEE,KAAK,CAAC;EACrE,CAAC,CAAC;EAEF,IAAIa,QAAQ,GAAGN,MAAM,CAAC,CAAC,CAAC;EACxB,IAAIO,YAAY,GAAGP,MAAM,CAAC,CAAC,CAAC;EAE5BV,WAAW,GAAG;IACZW,CAAC,EAAE,CAACK,QAAQ,CAACL,CAAC,GAAGM,YAAY,CAACN,CAAC,IAAI,CAAC;IACpCC,CAAC,EAAE,CAACI,QAAQ,CAACJ,CAAC,GAAGK,YAAY,CAACL,CAAC,IAAI;EACrC,CAAC;EAEDF,MAAM,GAAGA,MAAM,CAACG,GAAG,CAACC,KAAK,IAAI;IAC3B;IACA,OAAO,IAAAI,uBAAW,EAACJ,KAAK,CAACH,CAAC,EAAEG,KAAK,CAACF,CAAC,EAAEZ,WAAW,EAAEC,QAAQ,EAAEE,KAAK,CAAC;EACpE,CAAC,CAAC;EAEFa,QAAQ,GAAGN,MAAM,CAAC,CAAC,CAAC;EACpBO,YAAY,GAAGP,MAAM,CAAC,CAAC,CAAC;EAExB,IAAI,CAACX,MAAM,GAAG;IACZO,IAAI,EAAEU,QAAQ,CAACL,CAAC;IAChBJ,GAAG,EAAES,QAAQ,CAACJ,CAAC;IACfJ,KAAK,EAAES,YAAY,CAACN,CAAC,GAAGK,QAAQ,CAACL,CAAC;IAClCF,MAAM,EAAEQ,YAAY,CAACL,CAAC,GAAGI,QAAQ,CAACJ;EACpC,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = mutatePath;
|
|
7
|
-
/*
|
|
8
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/*
|
|
12
|
-
* 특정 패스의 변경이, 컴포넌트의 현재 컴포넌트 rotation의 영향을 받아서 변형되어 보이지 않도록 하기위한 함수이다.
|
|
13
|
-
* 마치 현재 각도 상태에서 PATH의 변경을 일으키는 것처럼 보이게된다.
|
|
14
|
-
* beforLogic에서는 컴포넌트 좌표 상태에서 패스 변화가 필요한 경우에 제공한다.
|
|
15
|
-
* afterLogic에서는 컨테이너 좌표 상태에서 패스 변화가 필요한 경우에 제공한다.
|
|
16
|
-
* context 만약, 그리기 상태에서 mutatePath를 사용하고, beforeLogic이나 afterLogic에서 사용해야 한다면, 제공한다.
|
|
17
|
-
*
|
|
18
|
-
* 일반적으로, 컴포넌트내 부분적인 path의 변화도 현재 컴포넌트의 rotation에 따라서,
|
|
19
|
-
* 전체적인 변화를 보이는 경우가 많다. 가시적으로 보이는 전체적인 모양을 고정하고 부분적인 패스의 변경만이 화면에 적용되도록 하기 위해서 사용한다.
|
|
20
|
-
* 그렇게 하기 위해서, mutatePath 내부적으로, path 전체에 대해서 변화가 발생하게 된다.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
function mutatePath(beforeLogic, afterLogic, context) {
|
|
24
|
-
// 1. 컴포넌트의 path 정보를 가져온다.
|
|
25
|
-
var path = this.path;
|
|
26
|
-
var rotatePoint = this.rotatePoint;
|
|
27
|
-
var rotation = this.get('rotation');
|
|
28
|
-
var scale = this.get('scale');
|
|
29
|
-
if (beforeLogic) path = beforeLogic.call(context, path);
|
|
30
|
-
var path_in_parent = path.map(point => {
|
|
31
|
-
return this.transcoordS2P(point.x, point.y);
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// 3. 이동한 핸들의 위치로 패스 정보를 수정한다. (핸들 위치는 transcoord하지 않은 화면위치값으로 한다.)
|
|
35
|
-
if (afterLogic) {
|
|
36
|
-
var path = afterLogic.call(context, path_in_parent);
|
|
37
|
-
if (path) path_in_parent = path;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// 4. 첫번째 패스 포인트를 임의의 센터로 정하고, 모든 패스정보를 transcoord시킨다.
|
|
41
|
-
var vcenter = {
|
|
42
|
-
x: 0,
|
|
43
|
-
y: 0
|
|
44
|
-
};
|
|
45
|
-
var path = path_in_parent.map(point => {
|
|
46
|
-
return this.transcoordP2S(point.x, point.y, vcenter);
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
// 5. 회전한 패스의 바운드를 구한다.
|
|
50
|
-
var left, right, top, bottom;
|
|
51
|
-
left = right = path[0].x;
|
|
52
|
-
top = bottom = path[0].y;
|
|
53
|
-
for (let i = 1; i < path.length; i++) {
|
|
54
|
-
let point = path[i];
|
|
55
|
-
if (point.x < left) left = point.x;else if (point.x > right) right = point.x;
|
|
56
|
-
if (point.y < top) top = point.y;else if (point.y > bottom) bottom = point.y;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// 6. 바운드에 기준해서 rotatePoint 값을 구한다.
|
|
60
|
-
rotatePoint = {
|
|
61
|
-
x: (left + right) / 2,
|
|
62
|
-
y: (top + bottom) / 2
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
// 7. 구한 center값을 다시 가상의 중심으로 reverTranscoord해서 정확한 중심값을 구한다.
|
|
66
|
-
rotatePoint = this.transcoordS2P(rotatePoint.x, rotatePoint.y, vcenter);
|
|
67
|
-
|
|
68
|
-
// 8. Keep한 패스의 모든 포지션에 center를 적용한 transcoord를 적용하여, 새로운 패스를 구한다.
|
|
69
|
-
this.path = path_in_parent.map(point => {
|
|
70
|
-
return this.transcoordP2S(point.x, point.y, rotatePoint);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=path.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","names":["mutatePath","beforeLogic","afterLogic","context","path","rotatePoint","rotation","get","scale","call","path_in_parent","map","point","transcoordS2P","x","y","vcenter","transcoordP2S","left","right","top","bottom","i","length"],"sources":["../../../src/components/mutater/path.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n/*\n * 특정 패스의 변경이, 컴포넌트의 현재 컴포넌트 rotation의 영향을 받아서 변형되어 보이지 않도록 하기위한 함수이다.\n * 마치 현재 각도 상태에서 PATH의 변경을 일으키는 것처럼 보이게된다.\n * beforLogic에서는 컴포넌트 좌표 상태에서 패스 변화가 필요한 경우에 제공한다.\n * afterLogic에서는 컨테이너 좌표 상태에서 패스 변화가 필요한 경우에 제공한다.\n * context 만약, 그리기 상태에서 mutatePath를 사용하고, beforeLogic이나 afterLogic에서 사용해야 한다면, 제공한다.\n *\n * 일반적으로, 컴포넌트내 부분적인 path의 변화도 현재 컴포넌트의 rotation에 따라서,\n * 전체적인 변화를 보이는 경우가 많다. 가시적으로 보이는 전체적인 모양을 고정하고 부분적인 패스의 변경만이 화면에 적용되도록 하기 위해서 사용한다.\n * 그렇게 하기 위해서, mutatePath 내부적으로, path 전체에 대해서 변화가 발생하게 된다.\n */\n\nexport default function mutatePath(beforeLogic, afterLogic, context) {\n // 1. 컴포넌트의 path 정보를 가져온다.\n var path = this.path\n var rotatePoint = this.rotatePoint\n var rotation = this.get('rotation')\n var scale = this.get('scale')\n\n if (beforeLogic) path = beforeLogic.call(context, path)\n\n var path_in_parent = path.map(point => {\n return this.transcoordS2P(point.x, point.y)\n })\n\n // 3. 이동한 핸들의 위치로 패스 정보를 수정한다. (핸들 위치는 transcoord하지 않은 화면위치값으로 한다.)\n if (afterLogic) {\n var path = afterLogic.call(context, path_in_parent)\n if (path) path_in_parent = path\n }\n\n // 4. 첫번째 패스 포인트를 임의의 센터로 정하고, 모든 패스정보를 transcoord시킨다.\n var vcenter = { x: 0, y: 0 }\n var path = path_in_parent.map(point => {\n return this.transcoordP2S(point.x, point.y, vcenter)\n })\n\n // 5. 회전한 패스의 바운드를 구한다.\n var left, right, top, bottom\n\n left = right = path[0].x\n top = bottom = path[0].y\n\n for (let i = 1; i < path.length; i++) {\n let point = path[i]\n\n if (point.x < left) left = point.x\n else if (point.x > right) right = point.x\n\n if (point.y < top) top = point.y\n else if (point.y > bottom) bottom = point.y\n }\n\n // 6. 바운드에 기준해서 rotatePoint 값을 구한다.\n rotatePoint = {\n x: (left + right) / 2,\n y: (top + bottom) / 2\n }\n\n // 7. 구한 center값을 다시 가상의 중심으로 reverTranscoord해서 정확한 중심값을 구한다.\n rotatePoint = this.transcoordS2P(rotatePoint.x, rotatePoint.y, vcenter)\n\n // 8. Keep한 패스의 모든 포지션에 center를 적용한 transcoord를 적용하여, 새로운 패스를 구한다.\n this.path = path_in_parent.map(point => {\n return this.transcoordP2S(point.x, point.y, rotatePoint)\n })\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,SAASA,UAAUA,CAACC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAE;EACnE;EACA,IAAIC,IAAI,GAAG,IAAI,CAACA,IAAI;EACpB,IAAIC,WAAW,GAAG,IAAI,CAACA,WAAW;EAClC,IAAIC,QAAQ,GAAG,IAAI,CAACC,GAAG,CAAC,UAAU,CAAC;EACnC,IAAIC,KAAK,GAAG,IAAI,CAACD,GAAG,CAAC,OAAO,CAAC;EAE7B,IAAIN,WAAW,EAAEG,IAAI,GAAGH,WAAW,CAACQ,IAAI,CAACN,OAAO,EAAEC,IAAI,CAAC;EAEvD,IAAIM,cAAc,GAAGN,IAAI,CAACO,GAAG,CAACC,KAAK,IAAI;IACrC,OAAO,IAAI,CAACC,aAAa,CAACD,KAAK,CAACE,CAAC,EAAEF,KAAK,CAACG,CAAC,CAAC;EAC7C,CAAC,CAAC;;EAEF;EACA,IAAIb,UAAU,EAAE;IACd,IAAIE,IAAI,GAAGF,UAAU,CAACO,IAAI,CAACN,OAAO,EAAEO,cAAc,CAAC;IACnD,IAAIN,IAAI,EAAEM,cAAc,GAAGN,IAAI;EACjC;;EAEA;EACA,IAAIY,OAAO,GAAG;IAAEF,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EAC5B,IAAIX,IAAI,GAAGM,cAAc,CAACC,GAAG,CAACC,KAAK,IAAI;IACrC,OAAO,IAAI,CAACK,aAAa,CAACL,KAAK,CAACE,CAAC,EAAEF,KAAK,CAACG,CAAC,EAAEC,OAAO,CAAC;EACtD,CAAC,CAAC;;EAEF;EACA,IAAIE,IAAI,EAAEC,KAAK,EAAEC,GAAG,EAAEC,MAAM;EAE5BH,IAAI,GAAGC,KAAK,GAAGf,IAAI,CAAC,CAAC,CAAC,CAACU,CAAC;EACxBM,GAAG,GAAGC,MAAM,GAAGjB,IAAI,CAAC,CAAC,CAAC,CAACW,CAAC;EAExB,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlB,IAAI,CAACmB,MAAM,EAAED,CAAC,EAAE,EAAE;IACpC,IAAIV,KAAK,GAAGR,IAAI,CAACkB,CAAC,CAAC;IAEnB,IAAIV,KAAK,CAACE,CAAC,GAAGI,IAAI,EAAEA,IAAI,GAAGN,KAAK,CAACE,CAAC,MAC7B,IAAIF,KAAK,CAACE,CAAC,GAAGK,KAAK,EAAEA,KAAK,GAAGP,KAAK,CAACE,CAAC;IAEzC,IAAIF,KAAK,CAACG,CAAC,GAAGK,GAAG,EAAEA,GAAG,GAAGR,KAAK,CAACG,CAAC,MAC3B,IAAIH,KAAK,CAACG,CAAC,GAAGM,MAAM,EAAEA,MAAM,GAAGT,KAAK,CAACG,CAAC;EAC7C;;EAEA;EACAV,WAAW,GAAG;IACZS,CAAC,EAAE,CAACI,IAAI,GAAGC,KAAK,IAAI,CAAC;IACrBJ,CAAC,EAAE,CAACK,GAAG,GAAGC,MAAM,IAAI;EACtB,CAAC;;EAED;EACAhB,WAAW,GAAG,IAAI,CAACQ,aAAa,CAACR,WAAW,CAACS,CAAC,EAAET,WAAW,CAACU,CAAC,EAAEC,OAAO,CAAC;;EAEvE;EACA,IAAI,CAACZ,IAAI,GAAGM,cAAc,CAACC,GAAG,CAACC,KAAK,IAAI;IACtC,OAAO,IAAI,CAACK,aAAa,CAACL,KAAK,CAACE,CAAC,EAAEF,KAAK,CAACG,CAAC,EAAEV,WAAW,CAAC;EAC1D,CAAC,CAAC;AACJ","ignoreList":[]}
|