| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /**
- * Explore plugin.
- */
- Draw.loadPlugin(function(editorUi)
- {
- // Trello plugin only works in embed mode
- if (editorUi.actions.get('exit') == null)
- {
- return;
- }
-
- // Overridden to redirect modified check to file
- editorUi.actions.get('exit').funct = function()
- {
- var fn = function()
- {
- var parent = window.opener || window.parent;
- parent.postMessage(JSON.stringify({event: 'exit'}), '*');
- }
-
- var file = editorUi.getCurrentFile();
-
- if (file == null || !file.isModified())
- {
- fn();
- }
- else
- {
- editorUi.confirm(mxResources.get('allChangesLost'), null, fn,
- mxResources.get('cancel'), mxResources.get('discardChanges'));
- }
- };
-
- editorUi.showSplash = function()
- {
- this.actions.get('exit').funct();
- };
-
- function main()
- {
- var name = (urlParams['filename'] != null) ? decodeURIComponent(urlParams['filename']) : null;
- var card = (urlParams['card'] != null) ? decodeURIComponent(urlParams['card']) : null;
- var template = (urlParams['template'] != null) ? decodeURIComponent(urlParams['template']) : null;
- if (name != null && card != null)
- {
- var doCreateFile = function(templateData)
- {
- editorUi.createFile(name, templateData ||
- editorUi.getFileData(/(\.xml)$/i.test(name) ||
- name.indexOf('.') < 0, /(\.svg)$/i.test(name),
- /(\.html)$/i.test(name)), null, 'trello',
- null, true, card);
- };
-
- if (template != null)
- {
- editorUi.trello.getFile(card + editorUi.trello.SEPARATOR +
- template, function(file)
- {
- doCreateFile(file.getData());
- }, function()
- {
- doCreateFile();
- });
- }
- else
- {
- doCreateFile();
- }
- }
- else if (window.location.hash.substring(0, 2) == '#T')
- {
- editorUi.loadFile(editorUi.getDiagramId(), true);
- }
- editorUi.addEmbedButtons();
- };
- // Waits for Trello client
- if (editorUi.trello == null)
- {
- var waitForTrello = function()
- {
- if (editorUi.trello != null)
- {
- editorUi.removeListener(waitForTrello);
- main();
- }
- };
-
- // Waits for Trello client to load
- editorUi.addListener('clientLoaded', waitForTrello);
- }
- else
- {
- main();
- }
- });
|