Skip to content

Commit 71ed365

Browse files
committed
deploy: d3f09e5
1 parent 4c3fce0 commit 71ed365

19 files changed

+597
-193
lines changed

assets/css/demo.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/css/demo.min.css.gz

0 Bytes
Binary file not shown.

assets/css/formeo.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/demo.min.js

Lines changed: 62 additions & 62 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/demo.min.js.gz

439 Bytes
Binary file not shown.

assets/js/formeo.cjs.js

Lines changed: 130 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
/**
33
formeo - https://formeo.io
4-
Version: 4.1.4
4+
Version: 4.2.0
55
Author: Draggable https://draggable.io
66
*/
77

@@ -433,7 +433,7 @@ if (window !== void 0) {
433433
window.SmartTooltip = SmartTooltip;
434434
}
435435
const name$1 = "formeo";
436-
const version$2 = "4.1.4";
436+
const version$2 = "4.2.0";
437437
const pkg = {
438438
name: name$1,
439439
version: version$2
@@ -2281,13 +2281,20 @@ const ANIMATION_SPEED_FAST = Math.round(ANIMATION_SPEED_BASE / 2);
22812281
const ANIMATION_SPEED_SLOW = Math.round(ANIMATION_SPEED_BASE * 2);
22822282
const EVENT_FORMEO_SAVED = "formeoSaved";
22832283
const EVENT_FORMEO_UPDATED = "formeoUpdated";
2284+
const EVENT_FORMEO_CHANGED = "formeoChanged";
22842285
const EVENT_FORMEO_UPDATED_STAGE = "formeoUpdatedStage";
22852286
const EVENT_FORMEO_UPDATED_ROW = "formeoUpdatedRow";
22862287
const EVENT_FORMEO_UPDATED_COLUMN = "formeoUpdatedColumn";
22872288
const EVENT_FORMEO_UPDATED_FIELD = "formeoUpdatedField";
22882289
const EVENT_FORMEO_CLEARED = "formeoCleared";
22892290
const EVENT_FORMEO_ON_RENDER = "formeoOnRender";
22902291
const EVENT_FORMEO_CONDITION_UPDATED = "formeoConditionUpdated";
2292+
const EVENT_FORMEO_ADDED_ROW = "formeoAddedRow";
2293+
const EVENT_FORMEO_ADDED_COLUMN = "formeoAddedColumn";
2294+
const EVENT_FORMEO_ADDED_FIELD = "formeoAddedField";
2295+
const EVENT_FORMEO_REMOVED_ROW = "formeoRemovedRow";
2296+
const EVENT_FORMEO_REMOVED_COLUMN = "formeoRemovedColumn";
2297+
const EVENT_FORMEO_REMOVED_FIELD = "formeoRemovedField";
22912298
const COMPARISON_OPERATORS = {
22922299
equals: "==",
22932300
notEquals: "!=",
@@ -3294,6 +3301,18 @@ class Data {
32943301
evtData.previousValue = oldVal;
32953302
}
32963303
events.formeoUpdated(evtData);
3304+
if (this.name) {
3305+
const componentEventMap = {
3306+
stage: EVENT_FORMEO_UPDATED_STAGE,
3307+
row: EVENT_FORMEO_UPDATED_ROW,
3308+
column: EVENT_FORMEO_UPDATED_COLUMN,
3309+
field: EVENT_FORMEO_UPDATED_FIELD
3310+
};
3311+
const specificEvent = componentEventMap[this.name];
3312+
if (specificEvent) {
3313+
events.formeoUpdated(evtData, specificEvent);
3314+
}
3315+
}
32973316
}
32983317
return data;
32993318
}
@@ -3363,6 +3382,23 @@ class ComponentData extends Data {
33633382
const component = this.Component({ ...data, id: elemId });
33643383
this.data[elemId] = component;
33653384
this.active = component;
3385+
const componentEventMap = {
3386+
row: EVENT_FORMEO_ADDED_ROW,
3387+
column: EVENT_FORMEO_ADDED_COLUMN,
3388+
field: EVENT_FORMEO_ADDED_FIELD
3389+
};
3390+
const addEvent = componentEventMap[this.name];
3391+
if (addEvent) {
3392+
events.formeoUpdated(
3393+
{
3394+
entity: component,
3395+
componentId: elemId,
3396+
componentType: this.name,
3397+
data: component.data
3398+
},
3399+
addEvent
3400+
);
3401+
}
33663402
return component;
33673403
};
33683404
/**
@@ -7568,7 +7604,7 @@ class EditPanel {
75687604
};
75697605
const editPanelButtons = [];
75707606
if (type === "conditions") {
7571-
if (!mi18n.current.clearAll) {
7607+
if (mi18n.current && !mi18n.current.clearAll) {
75727608
mi18n.put("clearAll", "Clear All");
75737609
}
75747610
const clearAllBtn = {
@@ -8062,6 +8098,7 @@ class Component extends Data {
80628098
dispatchComponentEvent(eventName, eventData = {}) {
80638099
const fullEventData = {
80648100
component: this,
8101+
target: this,
80658102
type: eventName,
80668103
timestamp: Date.now(),
80678104
...eventData
@@ -8147,6 +8184,22 @@ class Component extends Data {
81478184
if (parent.name === "row") {
81488185
parent.autoColumnWidths();
81498186
}
8187+
const componentEventMap = {
8188+
row: EVENT_FORMEO_REMOVED_ROW,
8189+
column: EVENT_FORMEO_REMOVED_COLUMN,
8190+
field: EVENT_FORMEO_REMOVED_FIELD
8191+
};
8192+
const removeEvent = componentEventMap[this.name];
8193+
if (removeEvent) {
8194+
events.formeoUpdated(
8195+
{
8196+
componentId: this.id,
8197+
componentType: this.name,
8198+
parent
8199+
},
8200+
removeEvent
8201+
);
8202+
}
81508203
return components[`${this.name}s`].delete(this.id);
81518204
};
81528205
/**
@@ -9443,7 +9496,7 @@ class Stage extends Component {
94439496
}
94449497
onAdd(...args) {
94459498
const component = super.onAdd(...args);
9446-
if (component && component.name === "column") {
9499+
if (component?.name === "column") {
94479500
component.parent.autoColumnWidths();
94489501
}
94499502
}
@@ -10396,12 +10449,18 @@ const defaults$1 = {
1039610449
},
1039710450
onAdd: () => {
1039810451
},
10399-
onChange: (...args) => defaults$1.onUpdate(...args),
10452+
onChange: (evt) => events.opts?.debug && console.log(evt),
1040010453
onUpdate: (evt) => events.opts?.debug && console.log(evt),
1040110454
onUpdateStage: (evt) => events.opts?.debug && console.log(evt),
1040210455
onUpdateRow: (evt) => events.opts?.debug && console.log(evt),
1040310456
onUpdateColumn: (evt) => events.opts?.debug && console.log(evt),
1040410457
onUpdateField: (evt) => events.opts?.debug && console.log(evt),
10458+
onAddRow: (evt) => events.opts?.debug && console.log(evt),
10459+
onAddColumn: (evt) => events.opts?.debug && console.log(evt),
10460+
onAddField: (evt) => events.opts?.debug && console.log(evt),
10461+
onRemoveRow: (evt) => events.opts?.debug && console.log(evt),
10462+
onRemoveColumn: (evt) => events.opts?.debug && console.log(evt),
10463+
onRemoveField: (evt) => events.opts?.debug && console.log(evt),
1040510464
onRender: (evt) => events.opts?.debug && console.log(evt),
1040610465
onSave: (_evt) => {
1040710466
},
@@ -10417,6 +10476,13 @@ const defaultCustomEvent = ({ src, ...evtData }, type = EVENT_FORMEO_UPDATED) =>
1041710476
bubbles: events.opts?.debug || events.opts?.bubbles
1041810477
});
1041910478
evt.data = (src || document).dispatchEvent(evt);
10479+
if (type === EVENT_FORMEO_UPDATED) {
10480+
const changedEvt = new window.CustomEvent(EVENT_FORMEO_CHANGED, {
10481+
detail: evtData,
10482+
bubbles: events.opts?.debug || events.opts?.bubbles
10483+
});
10484+
(src || document).dispatchEvent(changedEvt);
10485+
}
1042010486
return evt;
1042110487
};
1042210488
const events = {
@@ -10425,50 +10491,82 @@ const events = {
1042510491
return this;
1042610492
},
1042710493
formeoSaved: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_SAVED),
10428-
formeoUpdated: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_UPDATED),
10494+
formeoUpdated: (evt, eventType) => defaultCustomEvent(evt, eventType || EVENT_FORMEO_UPDATED),
1042910495
formeoCleared: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_CLEARED),
1043010496
formeoOnRender: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_ON_RENDER),
10431-
formeoConditionUpdated: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_CONDITION_UPDATED)
10497+
formeoConditionUpdated: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_CONDITION_UPDATED),
10498+
formeoAddedRow: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_ADDED_ROW),
10499+
formeoAddedColumn: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_ADDED_COLUMN),
10500+
formeoAddedField: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_ADDED_FIELD),
10501+
formeoRemovedRow: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_REMOVED_ROW),
10502+
formeoRemovedColumn: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_REMOVED_COLUMN),
10503+
formeoRemovedField: (evt) => defaultCustomEvent(evt, EVENT_FORMEO_REMOVED_FIELD)
1043210504
};
1043310505
const formeoUpdatedThrottled = throttle$1(() => {
10434-
events.opts.onUpdate({
10506+
const eventData = {
1043510507
timeStamp: window.performance.now(),
1043610508
type: EVENT_FORMEO_UPDATED,
1043710509
detail: components.formData
10438-
});
10510+
};
10511+
events.opts.onUpdate(eventData);
10512+
if (events.opts.onChange !== events.opts.onUpdate) {
10513+
events.opts.onChange(eventData);
10514+
}
1043910515
}, ANIMATION_SPEED_FAST);
1044010516
document.addEventListener(EVENT_FORMEO_UPDATED, formeoUpdatedThrottled);
1044110517
document.addEventListener(EVENT_FORMEO_UPDATED_STAGE, (evt) => {
1044210518
const { timeStamp, type, detail } = evt;
10443-
events.opts.onUpdate({
10444-
timeStamp,
10445-
type,
10446-
detail
10447-
});
10519+
const eventData = { timeStamp, type, detail };
10520+
events.opts.onUpdate(eventData);
10521+
events.opts.onUpdateStage(eventData);
1044810522
});
1044910523
document.addEventListener(EVENT_FORMEO_UPDATED_ROW, (evt) => {
1045010524
const { timeStamp, type, detail } = evt;
10451-
events.opts.onUpdate({
10452-
timeStamp,
10453-
type,
10454-
detail
10455-
});
10525+
const eventData = { timeStamp, type, detail };
10526+
events.opts.onUpdate(eventData);
10527+
events.opts.onUpdateRow(eventData);
1045610528
});
1045710529
document.addEventListener(EVENT_FORMEO_UPDATED_COLUMN, (evt) => {
1045810530
const { timeStamp, type, detail } = evt;
10459-
events.opts.onUpdate({
10460-
timeStamp,
10461-
type,
10462-
detail
10463-
});
10531+
const eventData = { timeStamp, type, detail };
10532+
events.opts.onUpdate(eventData);
10533+
events.opts.onUpdateColumn(eventData);
1046410534
});
1046510535
document.addEventListener(EVENT_FORMEO_UPDATED_FIELD, (evt) => {
1046610536
const { timeStamp, type, detail } = evt;
10467-
events.opts.onUpdate({
10468-
timeStamp,
10469-
type,
10470-
detail
10471-
});
10537+
const eventData = { timeStamp, type, detail };
10538+
events.opts.onUpdate(eventData);
10539+
events.opts.onUpdateField(eventData);
10540+
});
10541+
document.addEventListener(EVENT_FORMEO_ADDED_ROW, (evt) => {
10542+
const { timeStamp, type, detail } = evt;
10543+
const eventData = { timeStamp, type, detail };
10544+
events.opts.onAddRow(eventData);
10545+
});
10546+
document.addEventListener(EVENT_FORMEO_ADDED_COLUMN, (evt) => {
10547+
const { timeStamp, type, detail } = evt;
10548+
const eventData = { timeStamp, type, detail };
10549+
events.opts.onAddColumn(eventData);
10550+
});
10551+
document.addEventListener(EVENT_FORMEO_ADDED_FIELD, (evt) => {
10552+
const { timeStamp, type, detail } = evt;
10553+
const eventData = { timeStamp, type, detail };
10554+
events.opts.onAddField(eventData);
10555+
});
10556+
document.addEventListener(EVENT_FORMEO_REMOVED_ROW, (evt) => {
10557+
const { timeStamp, type, detail } = evt;
10558+
const eventData = { timeStamp, type, detail };
10559+
events.opts.onRemoveRow(eventData);
10560+
});
10561+
document.addEventListener(EVENT_FORMEO_REMOVED_COLUMN, (evt) => {
10562+
const { timeStamp, type, detail } = evt;
10563+
const eventData = { timeStamp, type, detail };
10564+
events.opts.onRemoveColumn(eventData);
10565+
});
10566+
document.addEventListener(EVENT_FORMEO_REMOVED_FIELD, (evt) => {
10567+
const { timeStamp, type, detail } = evt;
10568+
const eventData = { timeStamp, type, detail };
10569+
events.opts.onRemoveField(eventData);
1047210570
});
1047310571
document.addEventListener(EVENT_FORMEO_ON_RENDER, (evt) => {
1047410572
const { timeStamp, type, detail } = evt;
@@ -10667,6 +10765,9 @@ let FormeoEditor$1 = class FormeoEditor {
1066710765
this.userFormData = cleanFormData(data);
1066810766
this.load(this.userFormData, this.opts);
1066910767
}
10768+
loadData(data = {}) {
10769+
this.formData = data;
10770+
}
1067010771
get json() {
1067110772
return this.Components.json;
1067210773
}

0 commit comments

Comments
 (0)