|
|
@ -37,9 +37,9 @@ module.exports = class LocalPlugin { |
|
|
|
...this.profile, |
|
|
|
...this.profile, |
|
|
|
icon: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xMjYyIDEwNzVxLTM3IDEyMS0xMzggMTk1dC0yMjggNzQtMjI4LTc0LTEzOC0xOTVxLTgtMjUgNC00OC41dDM4LTMxLjVxMjUtOCA0OC41IDR0MzEuNSAzOHEyNSA4MCA5Mi41IDEyOS41dDE1MS41IDQ5LjUgMTUxLjUtNDkuNSA5Mi41LTEyOS41cTgtMjYgMzItMzh0NDktNCAzNyAzMS41IDQgNDguNXptLTQ5NC00MzVxMCA1My0zNy41IDkwLjV0LTkwLjUgMzcuNS05MC41LTM3LjUtMzcuNS05MC41IDM3LjUtOTAuNSA5MC41LTM3LjUgOTAuNSAzNy41IDM3LjUgOTAuNXptNTEyIDBxMCA1My0zNy41IDkwLjV0LTkwLjUgMzcuNS05MC41LTM3LjUtMzcuNS05MC41IDM3LjUtOTAuNSA5MC41LTM3LjUgOTAuNSAzNy41IDM3LjUgOTAuNXptMjU2IDI1NnEwLTEzMC01MS0yNDguNXQtMTM2LjUtMjA0LTIwNC0xMzYuNS0yNDguNS01MS0yNDguNSA1MS0yMDQgMTM2LjUtMTM2LjUgMjA0LTUxIDI0OC41IDUxIDI0OC41IDEzNi41IDIwNCAyMDQgMTM2LjUgMjQ4LjUgNTEgMjQ4LjUtNTEgMjA0LTEzNi41IDEzNi41LTIwNCA1MS0yNDguNXptMTI4IDBxMCAyMDktMTAzIDM4NS41dC0yNzkuNSAyNzkuNS0zODUuNSAxMDMtMzg1LjUtMTAzLTI3OS41LTI3OS41LTEwMy0zODUuNSAxMDMtMzg1LjUgMjc5LjUtMjc5LjUgMzg1LjUtMTAzIDM4NS41IDEwMyAyNzkuNSAyNzkuNSAxMDMgMzg1LjV6Ii8+PC9zdmc+', |
|
|
|
icon: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xMjYyIDEwNzVxLTM3IDEyMS0xMzggMTk1dC0yMjggNzQtMjI4LTc0LTEzOC0xOTVxLTgtMjUgNC00OC41dDM4LTMxLjVxMjUtOCA0OC41IDR0MzEuNSAzOHEyNSA4MCA5Mi41IDEyOS41dDE1MS41IDQ5LjUgMTUxLjUtNDkuNSA5Mi41LTEyOS41cTgtMjYgMzItMzh0NDktNCAzNyAzMS41IDQgNDguNXptLTQ5NC00MzVxMCA1My0zNy41IDkwLjV0LTkwLjUgMzcuNS05MC41LTM3LjUtMzcuNS05MC41IDM3LjUtOTAuNSA5MC41LTM3LjUgOTAuNSAzNy41IDM3LjUgOTAuNXptNTEyIDBxMCA1My0zNy41IDkwLjV0LTkwLjUgMzcuNS05MC41LTM3LjUtMzcuNS05MC41IDM3LjUtOTAuNSA5MC41LTM3LjUgOTAuNSAzNy41IDM3LjUgOTAuNXptMjU2IDI1NnEwLTEzMC01MS0yNDguNXQtMTM2LjUtMjA0LTIwNC0xMzYuNS0yNDguNS01MS0yNDguNSA1MS0yMDQgMTM2LjUtMTM2LjUgMjA0LTUxIDI0OC41IDUxIDI0OC41IDEzNi41IDIwNCAyMDQgMTM2LjUgMjQ4LjUgNTEgMjQ4LjUtNTEgMjA0LTEzNi41IDEzNi41LTIwNCA1MS0yNDguNXptMTI4IDBxMCAyMDktMTAzIDM4NS41dC0yNzkuNSAyNzkuNS0zODUuNSAxMDMtMzg1LjUtMTAzLTI3OS41LTI3OS41LTEwMy0zODUuNSAxMDMtMzg1LjUgMjc5LjUtMjc5LjUgMzg1LjUtMTAzIDM4NS41IDEwMyAyNzkuNSAyNzkuNSAxMDMgMzg1LjV6Ii8+PC9zdmc+', |
|
|
|
methods: [], |
|
|
|
methods: [], |
|
|
|
events: [], |
|
|
|
|
|
|
|
hash: `local-${this.profile.name}`, |
|
|
|
hash: `local-${this.profile.name}`, |
|
|
|
location: 'swapPanel' |
|
|
|
location: 'swapPanel', |
|
|
|
|
|
|
|
events: ['compilationFinished'] |
|
|
|
} |
|
|
|
} |
|
|
|
if (!profile.name) throw new Error('Plugin should have a name') |
|
|
|
if (!profile.name) throw new Error('Plugin should have a name') |
|
|
|
if (!profile.url) throw new Error('Plugin should have an URL') |
|
|
|
if (!profile.url) throw new Error('Plugin should have an URL') |
|
|
@ -76,6 +76,12 @@ module.exports = class LocalPlugin { |
|
|
|
this.profile.displayName = target.value |
|
|
|
this.profile.displayName = target.value |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
updateEvents ({target}) { |
|
|
|
|
|
|
|
if (target.value && target.value.indexOf(',') !== -1) { |
|
|
|
|
|
|
|
this.profile.events = target.value.split(',') |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* The checkbox for a couple module / event |
|
|
|
* The checkbox for a couple module / event |
|
|
|
* @param {string} plugin The name of the plugin |
|
|
|
* @param {string} plugin The name of the plugin |
|
|
@ -100,6 +106,7 @@ module.exports = class LocalPlugin { |
|
|
|
const name = this.profile.name || '' |
|
|
|
const name = this.profile.name || '' |
|
|
|
const url = this.profile.url || '' |
|
|
|
const url = this.profile.url || '' |
|
|
|
const displayName = this.profile.displayName || '' |
|
|
|
const displayName = this.profile.displayName || '' |
|
|
|
|
|
|
|
const events = (this.profile.events || []).join(',') |
|
|
|
const profiles = plugins |
|
|
|
const profiles = plugins |
|
|
|
.filter(({profile}) => profile.events && profile.events.length > 0) |
|
|
|
.filter(({profile}) => profile.events && profile.events.length > 0) |
|
|
|
.map(({profile}) => profile) |
|
|
|
.map(({profile}) => profile) |
|
|
@ -117,6 +124,10 @@ module.exports = class LocalPlugin { |
|
|
|
<label for="plugin-url">Url <small>(required)</small></label> |
|
|
|
<label for="plugin-url">Url <small>(required)</small></label> |
|
|
|
<input class="form-control" onchange="${e => this.updateUrl(e)}" value="${url}" id="plugin-url" placeholder="ex: https://localhost:8000"> |
|
|
|
<input class="form-control" onchange="${e => this.updateUrl(e)}" value="${url}" id="plugin-url" placeholder="ex: https://localhost:8000"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="form-group"> |
|
|
|
|
|
|
|
<label>Events <small>(comma separated)</small></label> |
|
|
|
|
|
|
|
<input class="form-control" onchange="${e => this.updateEvents(e)}" value="${events}" id="plugin-events" placeholder="ex: compilationFinished,configurationChanged"> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<div class="form-group"> |
|
|
|
<label>Notifications</label> |
|
|
|
<label>Notifications</label> |
|
|
|
${profiles.map(({name, events}) => { |
|
|
|
${profiles.map(({name, events}) => { |
|
|
|