11
22/**
33formeo - https://formeo.io
4- Version: 4.1.4
4+ Version: 4.2.0
55Author: Draggable https://draggable.io
66*/
77
@@ -433,7 +433,7 @@ if (window !== void 0) {
433433 window . SmartTooltip = SmartTooltip ;
434434}
435435const name$1 = "formeo" ;
436- const version$2 = "4.1.4 " ;
436+ const version$2 = "4.2.0 " ;
437437const pkg = {
438438 name : name$1 ,
439439 version : version$2
@@ -2281,13 +2281,20 @@ const ANIMATION_SPEED_FAST = Math.round(ANIMATION_SPEED_BASE / 2);
22812281const ANIMATION_SPEED_SLOW = Math . round ( ANIMATION_SPEED_BASE * 2 ) ;
22822282const EVENT_FORMEO_SAVED = "formeoSaved" ;
22832283const EVENT_FORMEO_UPDATED = "formeoUpdated" ;
2284+ const EVENT_FORMEO_CHANGED = "formeoChanged" ;
22842285const EVENT_FORMEO_UPDATED_STAGE = "formeoUpdatedStage" ;
22852286const EVENT_FORMEO_UPDATED_ROW = "formeoUpdatedRow" ;
22862287const EVENT_FORMEO_UPDATED_COLUMN = "formeoUpdatedColumn" ;
22872288const EVENT_FORMEO_UPDATED_FIELD = "formeoUpdatedField" ;
22882289const EVENT_FORMEO_CLEARED = "formeoCleared" ;
22892290const EVENT_FORMEO_ON_RENDER = "formeoOnRender" ;
22902291const 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" ;
22912298const 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} ;
1042210488const 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} ;
1043310505const 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 ) ;
1044010516document . addEventListener ( EVENT_FORMEO_UPDATED , formeoUpdatedThrottled ) ;
1044110517document . 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} ) ;
1044910523document . 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} ) ;
1045710529document . 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} ) ;
1046510535document . 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} ) ;
1047310571document . 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