Added basic export for improved initiative

This commit is contained in:
Stefan Zermatten
2017-07-10 16:26:38 +02:00
parent 398f8a8a2a
commit 35464128a0
6 changed files with 279 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
<template name="exportDialog">
<div class="fit layout vertical">
{{#with character}}
<app-header-layout has-scrolling-region class="export flex">
<app-header fixed effects="waterfall">
<app-toolbar>
<div main-title>Export Character to Improved Initiative</div>
</app-toolbar>
</app-header>
<div class="form flex layout vertical">
<paper-toggle-button id="exportFeatures" checked={{settings.exportFeatures}}>
Features
</paper-toggle-button>
<paper-toggle-button id="exportAttacks" checked={{settings.exportAttacks}}>
Attacks
</paper-toggle-button>
<paper-toggle-button id="exportDescription" checked={{settings.exportDescription}}>
Description
</paper-toggle-button>
<paper-textarea class="flex iiexport" label="JSON" value={{improvedInitiativeJson}}></paper-textarea>
<paper-button id="copyExportButton" class="red-button" raised>Copy to Clipboard</paper-button>
</div>
</app-header-layout>
<div class="buttons layout horizontal end-justified">
<paper-button class="doneButton"> Done </paper-button>
</div>
{{/with}}
</div>
</template>

View File

@@ -0,0 +1,45 @@
Template.exportDialog.helpers({
character: function(){
return Characters.findOne(this._id);
},
improvedInitiativeJson: function(){
var options = {
features: this.settings.exportFeatures,
attacks: this.settings.exportAttacks,
description: this.settings.exportDescription,
}
return improvedInitiativeJson(this._id, options);
},
});
Template.exportDialog.events({
"change #exportFeatures": function(event, template){
Characters.update(this._id, {$set: {
"settings.exportFeatures": event.target.checked,
}});
},
"change #exportAttacks": function(event, template){
Characters.update(this._id, {$set: {
"settings.exportAttacks": event.target.checked,
}});
},
"change #exportDescription": function(event, template){
Characters.update(this._id, {$set: {
"settings.exportDescription": event.target.checked,
}});
},
"click #copyExportButton": function(event, template){
var copyTextarea = template.find(".iiexport");
copyTextarea && copyTextarea.select();
try {
var successful = document.execCommand("copy");
var msg = successful ? "successful" : "unsuccessful";
console.log("Copying text command was " + msg);
} catch (err) {
console.log("Oops, unable to copy");
}
},
"click .doneButton": function(event, instance){
popDialogStack();
},
})