|
|
|
@ -34,12 +34,13 @@ module.exports = class LocalPlugin { |
|
|
|
|
*/ |
|
|
|
|
create () { |
|
|
|
|
const profile = { |
|
|
|
|
...this.profile, |
|
|
|
|
icon: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xMjYyIDEwNzVxLTM3IDEyMS0xMzggMTk1dC0yMjggNzQtMjI4LTc0LTEzOC0xOTVxLTgtMjUgNC00OC41dDM4LTMxLjVxMjUtOCA0OC41IDR0MzEuNSAzOHEyNSA4MCA5Mi41IDEyOS41dDE1MS41IDQ5LjUgMTUxLjUtNDkuNSA5Mi41LTEyOS41cTgtMjYgMzItMzh0NDktNCAzNyAzMS41IDQgNDguNXptLTQ5NC00MzVxMCA1My0zNy41IDkwLjV0LTkwLjUgMzcuNS05MC41LTM3LjUtMzcuNS05MC41IDM3LjUtOTAuNSA5MC41LTM3LjUgOTAuNSAzNy41IDM3LjUgOTAuNXptNTEyIDBxMCA1My0zNy41IDkwLjV0LTkwLjUgMzcuNS05MC41LTM3LjUtMzcuNS05MC41IDM3LjUtOTAuNSA5MC41LTM3LjUgOTAuNSAzNy41IDM3LjUgOTAuNXptMjU2IDI1NnEwLTEzMC01MS0yNDguNXQtMTM2LjUtMjA0LTIwNC0xMzYuNS0yNDguNS01MS0yNDguNSA1MS0yMDQgMTM2LjUtMTM2LjUgMjA0LTUxIDI0OC41IDUxIDI0OC41IDEzNi41IDIwNCAyMDQgMTM2LjUgMjQ4LjUgNTEgMjQ4LjUtNTEgMjA0LTEzNi41IDEzNi41LTIwNCA1MS0yNDguNXptMTI4IDBxMCAyMDktMTAzIDM4NS41dC0yNzkuNSAyNzkuNS0zODUuNSAxMDMtMzg1LjUtMTAzLTI3OS41LTI3OS41LTEwMy0zODUuNSAxMDMtMzg1LjUgMjc5LjUtMjc5LjUgMzg1LjUtMTAzIDM4NS41IDEwMyAyNzkuNSAyNzkuNSAxMDMgMzg1LjV6Ii8+PC9zdmc+', |
|
|
|
|
methods: [], |
|
|
|
|
location: 'swapPanel', |
|
|
|
|
...this.profile, |
|
|
|
|
hash: `local-${this.profile.name}` |
|
|
|
|
} |
|
|
|
|
profile.events = profile.events.filter((item) => { return item !== '' }) |
|
|
|
|
profile.events = (profile.events || []).filter(item => item !== '') |
|
|
|
|
|
|
|
|
|
if (!profile.location) throw new Error('Plugin should have a location') |
|
|
|
|
if (!profile.name) throw new Error('Plugin should have a name') |
|
|
|
@ -95,11 +96,11 @@ module.exports = class LocalPlugin { |
|
|
|
|
notificationCheckbox (plugin, event) { |
|
|
|
|
const notifications = this.profile.notifications || {} |
|
|
|
|
const checkbox = notifications[plugin] && notifications[plugin].includes(event) |
|
|
|
|
? yo`<input type="checkbox" checked onchange="${e => this.toggleNotification(e, plugin, event)}">` |
|
|
|
|
: yo`<input type="checkbox" onchange="${e => this.toggleNotification(e, plugin, event)}">` |
|
|
|
|
? yo`<input id="${plugin}${event}" type="checkbox" checked onchange="${e => this.toggleNotification(e, plugin, event)}">` |
|
|
|
|
: yo`<input id="${plugin}${event}" type="checkbox" onchange="${e => this.toggleNotification(e, plugin, event)}">` |
|
|
|
|
return yo`<div>
|
|
|
|
|
${checkbox} |
|
|
|
|
<label>${plugin} - ${event}</label> |
|
|
|
|
<label for="${plugin}${event}">${plugin} - ${event}</label> |
|
|
|
|
</div>` |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -120,6 +121,20 @@ module.exports = class LocalPlugin { |
|
|
|
|
return yo`<input class="form-control" onchange="${e => this.updateEvents(e, i)}" value="${event}" />` |
|
|
|
|
})}</div>` |
|
|
|
|
} |
|
|
|
|
const radioLocations = (label, displayN) => { |
|
|
|
|
const radioButton = (this.profile.location === label) |
|
|
|
|
? yo`<div class="radio">
|
|
|
|
|
<label for="${label}"> |
|
|
|
|
<input type="radio" name="location" onclick="${e => this.updateLoc(e)}" value="${label}" id="${label}" checked="checked" />${displayN}</label> |
|
|
|
|
</div>` |
|
|
|
|
: yo`<div class="radio">
|
|
|
|
|
<label for="${label}"> |
|
|
|
|
<input type="radio" name="location" onclick="${e => this.updateLoc(e)}" value="${label}" id="${label}" />${displayN}</label> |
|
|
|
|
</div>` |
|
|
|
|
return yo`<div>
|
|
|
|
|
${radioButton} |
|
|
|
|
</div>` |
|
|
|
|
} |
|
|
|
|
const eventsEl = eventsForm(this.profile.events || []) |
|
|
|
|
const pushEvent = () => { |
|
|
|
|
if (!this.profile.events) this.profile.events = [] |
|
|
|
@ -156,16 +171,9 @@ module.exports = class LocalPlugin { |
|
|
|
|
</div> |
|
|
|
|
<div class="form-group"> |
|
|
|
|
<h6>Location in remix <small>(required)</small></h6> |
|
|
|
|
|
|
|
|
|
<div class="radio"> |
|
|
|
|
<label for="loc1"><input type="radio" name="location" onclick="${e => this.updateLoc(e)}" value="swapPanel" id="loc1" >Swap Panel</label> |
|
|
|
|
</div> |
|
|
|
|
<div class="radio"> |
|
|
|
|
<label for="loc2"><input type="radio" name="location" onclick="${e => this.updateLoc(e)}" value="mainPanel" id="loc2" >Main Panel</label> |
|
|
|
|
</div> |
|
|
|
|
<div class="radio"> |
|
|
|
|
<label for="loc3"><input type="radio" name="location" onclick="${e => this.updateLoc(e)}" value="hiddenPanel" id="loc3" >None</label> |
|
|
|
|
</div> |
|
|
|
|
${radioLocations('swapPanel', 'Swap Panel')} |
|
|
|
|
${radioLocations('mainPanel', 'Main Panel')} |
|
|
|
|
${radioLocations('none', 'None')} |
|
|
|
|
</form>` |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|