Initial commit

This commit is contained in:
zhongjin
2020-06-15 10:58:47 +08:00
commit 4f1dfe7564
8590 changed files with 1516878 additions and 0 deletions
@@ -0,0 +1,48 @@
var _ = require('underscore');
/**
* type property should match the value given from the API.
*/
var ALL_OPTIONS = [{
privacy: 'PUBLIC',
title: _t('components.modals.publish.privacy.public.title'),
desc: _t('components.modals.publish.privacy.public.body'),
alwaysEnabled: true,
cssClass: 'green'
}, {
privacy: 'LINK',
title: _t('components.modals.publish.privacy.link.title'),
desc: _t('components.modals.publish.privacy.link.body'),
cssClass: 'orange'
}, {
privacy: 'PASSWORD',
title: _t('components.modals.publish.privacy.password.title'),
desc: _t('components.modals.publish.privacy.password.body'),
cssClass: 'orange-dark'
}, {
privacy: 'PRIVATE',
title: _t('components.modals.publish.privacy.private.title'),
desc: _t('components.modals.publish.privacy.private.body'),
cssClass: 'red'
}];
module.exports = function (visDefinitionModel, userModel) {
var isVisualization = visDefinitionModel.isVisualization();
var actions = userModel.get('actions');
var canSelectPremiumOptions = actions[ isVisualization ? 'private_maps' : 'private_tables' ];
var currentPrivacy = visDefinitionModel.get('privacy');
var availableOptions = visDefinitionModel.privacyOptions();
return _.chain(ALL_OPTIONS)
.filter(function (option) {
return _.contains(availableOptions, option.privacy);
})
.map(function (option) {
// Set state that depends on vis and user attrs, they should not vary during the lifecycle of this collection
return _.defaults({
selected: option.privacy === currentPrivacy,
disabled: !(option.alwaysEnabled || canSelectPremiumOptions)
}, option);
})
.value();
};