Move settings.onload to common

pull/1098/head
Rodrigo Nascimento 10 years ago
parent 257a73e134
commit 6e47717659
  1. 2
      packages/rocketchat-lib/settings/client/rocketchat.coffee
  2. 26
      packages/rocketchat-lib/settings/lib/rocketchat.coffee
  3. 16
      packages/rocketchat-lib/settings/server/methods.coffee

@ -8,5 +8,5 @@ settingsDict = new ReactiveDict('settings')
RocketChat.settings.get = (_id) ->
return settingsDict.get(_id)
RocketChat.settings.load = (key, value) ->
RocketChat.settings.onload '*', (key, value) ->
return settingsDict.set key, value

@ -2,17 +2,17 @@
# RocketChat.settings holds all packages settings
# @namespace RocketChat.settings
###
RocketChat.settings = {}
RocketChat.settings =
callbacks: {}
ts: new Date
RocketChat.settings.ts = new Date
RocketChat.settings.get = (_id) ->
get: (_id) ->
return Meteor.settings?[_id]
RocketChat.settings.set = (_id, value, callback) ->
set: (_id, value, callback) ->
Meteor.call 'saveSetting', _id, value, callback
RocketChat.settings.batchSet = (settings, callback) ->
batchSet: (settings, callback) ->
# async -> sync
# http://daemon.co.za/2012/04/simple-async-with-only-underscore/
@ -23,3 +23,17 @@ RocketChat.settings.batchSet = (settings, callback) ->
actions = _.map settings, (setting) -> save(setting)
_(actions).reduceRight(_.wrap, (err, success) -> return callback err, success)()
load: (key, value, initialLoad) ->
if RocketChat.settings.callbacks[key]?
for callback in RocketChat.settings.callbacks[key]
callback key, value, initialLoad
if RocketChat.settings.callbacks['*']?
for callback in RocketChat.settings.callbacks['*']
callback key, value, initialLoad
onload: (key, callback) ->
RocketChat.settings.callbacks[key] ?= []
RocketChat.settings.callbacks[key].push callback

@ -1,5 +1,3 @@
RocketChat.settings.callbacks = {}
###
# Add a setting
# @param {String} _id
@ -60,20 +58,6 @@ RocketChat.settings.addGroup = (_id, options = {}) ->
return RocketChat.models.Settings.upsert { _id: _id }, upsertChanges
RocketChat.settings.load = (key, value, initialLoad) ->
if RocketChat.settings.callbacks[key]?
for callback in RocketChat.settings.callbacks[key]
callback key, value, initialLoad
if RocketChat.settings.callbacks['*']?
for callback in RocketChat.settings.callbacks['*']
callback key, value, initialLoad
RocketChat.settings.onload = (key, callback) ->
RocketChat.settings.callbacks[key] ?= []
RocketChat.settings.callbacks[key].push callback
###
# Remove a setting by id
# @param {String} _id

Loading…
Cancel
Save