calref / cadence

A strophe.js-powered XMPP web client for chatrooms.
0 stars 0 forks source link

Macro-export/import #15

Open cburschka opened 9 years ago

cburschka commented 9 years ago

As discussed.

Something like this added custom.js

chat.commands.importMacros = function (arg) {
  if (arg.trim()) config.settings.macros = JSON.parse(arg);
}
chat.commands.exportMacros = function () { 
  ui.messageAddInfo(JSON.stringify(config.settings.macros));
}
cburschka commented 9 years ago

Or with more control:

chat.commands.importMacros = function (arg) {
  arg = JSON.parse(arg);
  for (var cmd in arg) config.settings.macros[cmd] = arg[cmd];
  chat.saveSettings();
  ui.messageAddInfo('Macros saved.');
};
chat.commands.exportMacros = function (arg) {
  arg = arg.trim();
  var commands = {};
  if (!arg) commands = config.settings.macros;
  arg = arg.split(/\s+/);
  console.log(arg);
  for (var i in arg)
    if (arg[i] in config.settings.macros)
      commands[arg[i]] = config.settings.macros[arg[i]];
  ui.messageAddInfo('<code>' + JSON.stringify(commands) + '</code>');
}