{"version":3,"file":"279.mass-edit.js","mappings":"uNAEA,MAAM,2BAAEA,EAA0B,cAAEC,GAAkBC,QAAQC,aAAaC,IAEpE,MAAMC,uBAAuBL,EAA2BC,IAC3D,WAAAK,CAAYC,GACRC,QACAC,KAAKC,OAASH,CAClB,CAGAI,uBAAyB,CACrBC,GAAI,qBACJC,IAAK,OACLC,OAAQ,CACJC,MAAO,kBACPC,WAAW,EACXC,eAAgB,CAAC,kBAErBC,SAAU,CACNC,MAAO,IACPC,OAAQ,QAEZC,KAAM,CACFC,QAASjB,eAAekB,UACxBC,gBAAgB,EAChBC,eAAe,IAKvBd,aAAe,CACXe,KAAM,CACFC,SAAU,WAAW,qCAEzBC,OAAQ,CAAED,SAAU,sCAIxB,qBAAME,CAAgBC,GAClB,MAAMC,QAAgBvB,MAAMqB,gBAAgBC,GAE5C,OAAOE,OAAOC,OAAOF,EAAS,CAC1BG,iBAAkBzB,KAAKC,OAAOyB,QAAQ,KAAW,oBACjDC,iBAAkB3B,KAAKC,OAAOyB,QAAQ,KAAW,oBACjDE,SAAyC,aAA/B5B,KAAKC,OAAO4B,eACtBC,QAAS,CACL,CACIC,KAAM,SACNC,KAAM,eACNC,MAAO,mBAIvB,CAEA,sBAAanB,CAAUoB,EAAOtB,EAAMuB,GAChC,MAAM,SAAEP,EAAQ,iBAAEH,EAAgB,iBAAEE,GAAqBQ,EAASC,OAE5DC,EAAS,CAAE,CAAC,SAAS,QAAc,CAAEZ,mBAAkBE,qBACzDC,GAA2C,aAA/B5B,KAAKC,OAAO4B,iBACxBQ,EAAOR,eAAiB,YAG5B7B,KAAKC,OAAOoC,OAAOA,EACvB,EAGG,SAASC,EAA0BC,EAAKC,GAC3C,MAAMC,EAAaD,EAAKE,cAAc,4BACtC,IAAKD,EAAY,OAEjB,GAAIA,EAAWC,cAAc,SAAU,OAEvC,MAAMC,EAASC,SAASC,cAAc,UACtCF,EAAOZ,KAAO,SACdY,EAAOG,UAAUC,IAAI,eAAgB,QAErCJ,EAAOK,QAAQC,OAAS,OACxBN,EAAOK,QAAQE,QAAU,gCAGmC,IAAxDX,EAAIK,SAASlB,QAAQ,KAAW,sBACwB,IAAxDa,EAAIK,SAASlB,QAAQ,KAAW,qBACA,aAAhCa,EAAIK,SAASf,gBAEbc,EAAOG,UAAUC,IAAI,UAGzB,MAAMf,EAAOY,SAASC,cAAc,KACpCb,EAAKc,UAAUC,IAAI,WAAY,YAE/BJ,EAAOQ,YAAYnB,GACnBW,EAAOS,iBAAiB,QAAUlB,IAC1BA,EAAMmB,cACDnB,EAAMoB,OAAOR,UAAUS,SAAS,UAMjChB,EAAIK,SAASP,OAAO,CAChB,CAAC,SAAS,QAAc,CAAEZ,kBAAkB,EAAOE,kBAAkB,GACrEE,eAAgB2B,OAAOC,MAAMC,SAASC,gBAP1CpB,EAAIK,SAASP,OAAO,CAChB,CAAC,SAAS,QAAc,CAAEZ,kBAAkB,EAAME,kBAAkB,GACpEE,eAAgB,gBAWhCY,EAAWU,YAAYR,EAC3B,CAEO,SAASiB,EAAuCC,EAAKrB,GACxD,MAAMsB,EAAYtB,EAAKE,cAAc,0BAA0BqB,cAC/D,GAAID,IAAcA,EAAUpB,cAAc,SAAU,CAChD,MAAMC,EAASC,SAASC,cAAc,UACtCF,EAAOZ,KAAO,SACdY,EAAOqB,UAAY,8BACnBrB,EAAOK,QAAQE,QAAU,kBACzBP,EAAOsB,UAAY,kBACnBtB,EAAOS,iBAAiB,QAASc,UAC7B,IAAItE,eAAeiE,EAAIjB,UAAUuB,QAAO,KAE5CL,EAAUM,QAAQzB,EACtB,CACJ,C","sources":["webpack://multi-token-edit/./multi-token-edit/scripts/linker/vehicleOptions.js"],"sourcesContent":["import { MODULE_ID } from '../constants.js';\r\n\r\nconst { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api;\r\n\r\nexport class VehicleOptions extends HandlebarsApplicationMixin(ApplicationV2) {\r\n    constructor(token) {\r\n        super();\r\n        this._token = token;\r\n    }\r\n\r\n    /** @override */\r\n    static DEFAULT_OPTIONS = {\r\n        id: 'me-vehicle-options',\r\n        tag: 'form',\r\n        window: {\r\n            title: 'Vehicle Options',\r\n            resizable: false,\r\n            contentClasses: ['standard-form'],\r\n        },\r\n        position: {\r\n            width: 550,\r\n            height: 'auto',\r\n        },\r\n        form: {\r\n            handler: VehicleOptions._onSubmit,\r\n            submitOnChange: false,\r\n            closeOnSubmit: true,\r\n        },\r\n    };\r\n\r\n    /** @override */\r\n    static PARTS = {\r\n        body: {\r\n            template: `modules/${MODULE_ID}/templates/vehicleOptions.hbs`,\r\n        },\r\n        footer: { template: 'templates/generic/form-footer.hbs' },\r\n    };\r\n\r\n    /** @override */\r\n    async _prepareContext(options) {\r\n        const context = await super._prepareContext(options);\r\n\r\n        return Object.assign(context, {\r\n            lockAutoRotation: this._token.getFlag(MODULE_ID, 'lockAutoRotation'),\r\n            disableLinkToken: this._token.getFlag(MODULE_ID, 'disableLinkToken'),\r\n            displace: this._token.movementAction === 'displace',\r\n            buttons: [\r\n                {\r\n                    type: 'submit',\r\n                    icon: 'fas fa-check',\r\n                    label: 'SETTINGS.Save',\r\n                },\r\n            ],\r\n        });\r\n    }\r\n\r\n    static async _onSubmit(event, form, formData) {\r\n        const { displace, lockAutoRotation, disableLinkToken } = formData.object;\r\n\r\n        const update = { [`flags.${MODULE_ID}`]: { lockAutoRotation, disableLinkToken } };\r\n        if (displace && this._token.movementAction !== 'displace') {\r\n            update.movementAction = 'displace';\r\n        }\r\n\r\n        this._token.update(update);\r\n    }\r\n}\r\n\r\nexport function insertVehicleOptionToggle(hud, html) {\r\n    const leftColumn = html.querySelector('.placeable-hud .col.left');\r\n    if (!leftColumn) return;\r\n\r\n    if (leftColumn.querySelector('.meVO')) return;\r\n\r\n    const button = document.createElement('button');\r\n    button.type = 'button';\r\n    button.classList.add('control-icon', 'meVO');\r\n\r\n    button.dataset.action = 'meVO';\r\n    button.dataset.tooltip = 'Toggle Vehicle Movement Mode';\r\n\r\n    if (\r\n        hud.document.getFlag(MODULE_ID, 'lockAutoRotation') === true &&\r\n        hud.document.getFlag(MODULE_ID, 'disableLinkToken') === true &&\r\n        hud.document.movementAction === 'displace'\r\n    ) {\r\n        button.classList.add('active');\r\n    }\r\n\r\n    const icon = document.createElement('i');\r\n    icon.classList.add('fa-solid', 'fa-truck');\r\n\r\n    button.appendChild(icon);\r\n    button.addEventListener('click', (event) => {\r\n        if (event.pointerType) {\r\n            if (!event.target.classList.contains('active')) {\r\n                hud.document.update({\r\n                    [`flags.${MODULE_ID}`]: { lockAutoRotation: true, disableLinkToken: true },\r\n                    movementAction: 'displace',\r\n                });\r\n            } else {\r\n                hud.document.update({\r\n                    [`flags.${MODULE_ID}`]: { lockAutoRotation: false, disableLinkToken: false },\r\n                    movementAction: CONFIG.Token.movement.defaultAction,\r\n                });\r\n            }\r\n        }\r\n    });\r\n\r\n    leftColumn.appendChild(button);\r\n}\r\n\r\nexport function insertTokenConfigVehicleOptionsButtons(app, html) {\r\n    const container = html.querySelector('[name=\"lockRotation\"]')?.parentElement;\r\n    if (container && !container.querySelector('.meVO')) {\r\n        const button = document.createElement('button');\r\n        button.type = 'button';\r\n        button.className = `meVO icon fa-solid fa-truck`;\r\n        button.dataset.tooltip = 'Vehicle Options';\r\n        button.ariaLabel = 'Vehicle Options';\r\n        button.addEventListener('click', async () => {\r\n            new VehicleOptions(app.document).render(true);\r\n        });\r\n        container.prepend(button);\r\n    }\r\n}\r\n"],"names":["HandlebarsApplicationMixin","ApplicationV2","foundry","applications","api","VehicleOptions","constructor","token","super","this","_token","static","id","tag","window","title","resizable","contentClasses","position","width","height","form","handler","_onSubmit","submitOnChange","closeOnSubmit","body","template","footer","_prepareContext","options","context","Object","assign","lockAutoRotation","getFlag","disableLinkToken","displace","movementAction","buttons","type","icon","label","event","formData","object","update","insertVehicleOptionToggle","hud","html","leftColumn","querySelector","button","document","createElement","classList","add","dataset","action","tooltip","appendChild","addEventListener","pointerType","target","contains","CONFIG","Token","movement","defaultAction","insertTokenConfigVehicleOptionsButtons","app","container","parentElement","className","ariaLabel","async","render","prepend"],"sourceRoot":""}