{"version":3,"file":"394.mass-edit.js","mappings":"mLAIOA,eAAeC,EAAgBC,GAClCA,EAAiBC,kBAAkB,KAAW,aAE9CD,EAAiBE,mBAAmB,KAAW,kBAAmB,CAC9DC,KAAM,eACNC,YAAY,EACZC,MAAO,CACH,CAAEC,KAAM,OAAQC,KAAM,UACtB,CACIC,GAAI,WACJL,KAAM,WACNG,KAAM,SACNG,QAAS,WACTC,QAAS,CAAEC,KAAM,CAAC,OAAQ,QAAS,SAAU,UAAW,WAAY,WACpEC,SAAU,CAACC,EAAQC,KAETD,aAAkBE,QAAQC,OAAOC,WAAWC,OAC1CL,aAAkBE,QAAQC,OAAOC,WAAWE,MAC5CN,aAAkBE,QAAQC,OAAOC,WAAWG,SAC5CP,aAAkBE,QAAQC,OAAOC,WAAWI,QAC5CR,aAAkBE,QAAQC,OAAOC,WAAWK,cAC5CT,aAAkBE,QAAQC,OAAOC,WAAWM,cAC5CV,aAAkBE,QAAQC,OAAOC,WAAWO,OAC5CV,GAAUW,QAAQjB,IAAMK,GAAQC,UAAUW,QAAQjB,IACtDM,GAAUW,QAAQjB,IAAMK,GAAQL,GAGxCkB,UAAU,GAEd,CAAEpB,KAAM,OAAQC,KAAM,oBACtB,CACIC,GAAI,QACJL,KAAM,QACNG,KAAM,OACNqB,YAAa,2BAEjB,CACInB,GAAI,QACJL,KAAM,QACNG,KAAM,OACNG,QAAS,YACTkB,YAAa,sBAGrBC,OAAQ,CAAC,EACTC,MAAO,KACPC,GAAIhC,MAAOiC,EAAO,CAAC,KACf,MAAM,KAAEC,EAAI,OAAEC,EAAM,OAAEC,EAAM,MAAEC,EAAK,OAAEC,EAAM,OAAEC,GAAWN,EAExD,IAAI,MAAEO,EAAK,MAAEC,GAAUN,EAAOO,KAC9BF,EAAQA,EAAMG,OACdF,EAAQA,EAAME,OACd,MAAMC,EAAmB,IAAIC,WAE7B,GAAIL,EAAO,QACe,KAAcM,SAAS,CACzCC,KAAMP,EACDQ,MAAM,MACNC,IAAKvC,GAAOA,EAAGiC,QACfO,OAAOC,YAERC,QAASC,IACbT,EAAiBU,IAAID,EAAEN,KAAMM,IAErC,CACA,GAAIZ,EAAO,QACe,KAAcK,SAAS,CAAEL,WACvCW,QAASC,IACbT,EAAiBU,IAAID,EAAEN,KAAMM,IAErC,CACA,IAAKT,EAAiBW,KAAM,OAE5BC,QAAQC,IAAI,CAAEb,qBAEd,MAAMc,QAAkBxD,EAAiByD,YAAYC,KAAK1B,EAAMC,EAAOO,KAAKmB,SAAU5B,GACtF,IAAKyB,GAAWI,OAAQ,OAExB,MAAMC,EAAU,IAAInB,GACdoB,EAAQ,CACVC,MAAO,CACHC,YAAa,CACTC,aAAcjC,EAAKxB,GACnB0D,UAAWjC,EAAOO,KAAK0B,aAKnC,IAAK,MAAMP,KAAYH,EAAW,CAC9B,MAAMW,EAAQ,CAAEC,EAAGT,EAASS,EAAGC,EAAGV,EAASU,GACvCV,EAASW,MACLX,EAASW,gBAAgBvD,QAAQwD,UAAUC,gBACxCJ,EAAGD,EAAMC,EAAGC,EAAGF,EAAME,GAAMV,EAASW,KAAKG,MAAMC,QAI1D,MAAMC,EAASd,EAAQe,KAAKC,MAAMD,KAAKE,SAAWjB,EAAQD,eACpD,IAAQI,YAAY,CACtBW,SACAP,EAAGD,EAAMC,EACTC,EAAGF,EAAME,EACTU,aAAa,EACbC,QAASrB,EAASW,KAAK7C,OAAOjB,GAC9ByE,MAAO,KAAOC,OACdpB,SAER,CAEAR,QAAQC,IAAI,CAAEC,eAOlB2B,QAASrF,MAAOsF,EAASnD,IAgBd,qBAKnB,C","sources":["webpack://multi-token-edit/./multi-token-edit/scripts/auxilaryFeatures/matt.js"],"sourcesContent":["import { MODULE_ID, PIVOTS } from '../constants';\r\nimport { PresetStorage } from '../presets/collection';\r\nimport { Spawner } from '../presets/spawner';\r\n\r\nexport async function registerActions(MonksActiveTiles) {\r\n    MonksActiveTiles.registerTileGroup(MODULE_ID, 'Mass Edit');\r\n\r\n    MonksActiveTiles.registerTileAction(MODULE_ID, 'me-spawn-preset', {\r\n        name: 'Spawn Preset',\r\n        requiresGM: true,\r\n        ctrls: [\r\n            { type: 'line', help: 'Target' },\r\n            {\r\n                id: 'location',\r\n                name: 'Location',\r\n                type: 'select',\r\n                subtype: 'location',\r\n                options: { show: ['tile', 'token', 'within', 'players', 'previous', 'tagger'] },\r\n                restrict: (entity, document) => {\r\n                    return (\r\n                        ((entity instanceof foundry.canvas.placeables.Token ||\r\n                            entity instanceof foundry.canvas.placeables.Tile ||\r\n                            entity instanceof foundry.canvas.placeables.Drawing ||\r\n                            entity instanceof foundry.canvas.placeables.Region ||\r\n                            entity instanceof foundry.canvas.placeables.AmbientLight ||\r\n                            entity instanceof foundry.canvas.placeables.AmbientSound ||\r\n                            entity instanceof foundry.canvas.placeables.Note) &&\r\n                            document?.parent?.id == entity?.document?.parent?.id) ||\r\n                        document?.parent?.id == entity?.id\r\n                    );\r\n                },\r\n                required: true,\r\n            },\r\n            { type: 'line', help: 'Presets to Spawn' },\r\n            {\r\n                id: 'query',\r\n                name: 'Query',\r\n                type: 'text',\r\n                placeholder: 'e.g. tree #summer -palm',\r\n            },\r\n            {\r\n                id: 'uuids',\r\n                name: 'UUIDs',\r\n                type: 'text',\r\n                subtype: 'multiline',\r\n                placeholder: 'One UUID per line',\r\n            },\r\n        ],\r\n        values: {},\r\n        group: MODULE_ID,\r\n        fn: async (args = {}) => {\r\n            const { tile, action, userId, value, method, change } = args;\r\n\r\n            let { uuids, query } = action.data;\r\n            uuids = uuids.trim();\r\n            query = query.trim();\r\n            const presetCollection = new Collection();\r\n\r\n            if (uuids) {\r\n                const presets = await PresetStorage.retrieve({\r\n                    uuid: uuids\r\n                        .split('\\n')\r\n                        .map((id) => id.trim())\r\n                        .filter(Boolean),\r\n                });\r\n                presets.forEach((p) => {\r\n                    presetCollection.set(p.uuid, p);\r\n                });\r\n            }\r\n            if (query) {\r\n                const presets = await PresetStorage.retrieve({ query });\r\n                presets.forEach((p) => {\r\n                    presetCollection.set(p.uuid, p);\r\n                });\r\n            }\r\n            if (!presetCollection.size) return;\r\n\r\n            console.log({ presetCollection });\r\n\r\n            const locations = await MonksActiveTiles.getLocation.call(tile, action.data.location, args);\r\n            if (!locations?.length) return;\r\n\r\n            const presets = [...presetCollection];\r\n            const flags = {\r\n                world: {\r\n                    spawnPreset: {\r\n                        originTileId: tile.id,\r\n                        signature: action.data.signature,\r\n                    },\r\n                },\r\n            };\r\n\r\n            for (const location of locations) {\r\n                const coord = { x: location.x, y: location.y };\r\n                if (location.dest) {\r\n                    if (location.dest instanceof foundry.documents.TileDocument) {\r\n                        ({ x: coord.x, y: coord.y } = location.dest.shape.center);\r\n                    }\r\n                }\r\n\r\n                const preset = presets[Math.floor(Math.random() * presets.length)];\r\n                await Spawner.spawnPreset({\r\n                    preset,\r\n                    x: coord.x,\r\n                    y: coord.y,\r\n                    scaleToGrid: false,\r\n                    sceneId: location.dest.parent.id,\r\n                    pivot: PIVOTS.CENTER,\r\n                    flags,\r\n                });\r\n            }\r\n\r\n            console.log({ locations });\r\n\r\n            // let result = {};\r\n            // MonksActiveTiles.addToResult(entities, result);\r\n\r\n            // return result;\r\n        },\r\n        content: async (trigger, action) => {\r\n            // let ctrl = trigger.ctrls.find((c) => c.id == 'entity');\r\n            // let entityName = await MonksActiveTiles.entityName(\r\n            //     action.data?.entity || ctrl?.defvalue || 'previous',\r\n            //     (action.data?.entity == 'previous' ? action.data?.collection : null) || 'tiles',\r\n            // );\r\n\r\n            // const state = action.data?.state;\r\n            // const preposition = state === 'toggle' ? 'on' : state === 'remove' ? 'from' : 'to';\r\n\r\n            // let forUser = '';\r\n            // if (action.data?.transient) {\r\n            //     const showto = action.data.showto.name ?? trigger.values.showto[action.data.showto];\r\n            //     forUser = `, ${game.i18n.localize('MonksActiveTiles.ctrl.for')} <span class=\"action-style\">${game.i18n.localize(showto)}</span>`;\r\n            // }\r\n\r\n            return `Mass Edit TESTING`;\r\n\r\n            // return `<span class=\"action-style\">TMFX</span> <span class=\"details-style\">\"${game.i18n.localize(trigger.values.state[action.data?.state])}\"</span> <span class=\"value-style\">&lt;${action.data.preset}&gt;</span> ${preposition} <span class=\"entity-style\">${entityName}</span>${forUser}`;\r\n        },\r\n    });\r\n}\r\n"],"names":["async","registerActions","MonksActiveTiles","registerTileGroup","registerTileAction","name","requiresGM","ctrls","type","help","id","subtype","options","show","restrict","entity","document","foundry","canvas","placeables","Token","Tile","Drawing","Region","AmbientLight","AmbientSound","Note","parent","required","placeholder","values","group","fn","args","tile","action","userId","value","method","change","uuids","query","data","trim","presetCollection","Collection","retrieve","uuid","split","map","filter","Boolean","forEach","p","set","size","console","log","locations","getLocation","call","location","length","presets","flags","world","spawnPreset","originTileId","signature","coord","x","y","dest","documents","TileDocument","shape","center","preset","Math","floor","random","scaleToGrid","sceneId","pivot","CENTER","content","trigger"],"sourceRoot":""}