diff options
author | Koren Lev <korenlev@gmail.com> | 2017-07-27 16:42:15 +0300 |
---|---|---|
committer | Koren Lev <korenlev@gmail.com> | 2017-07-27 16:42:15 +0300 |
commit | b88c78e3cf2bef22aa2f1c4d0bf305e303bc15f0 (patch) | |
tree | ffa30a6e1511d72562d8772b8700cda52b2752a1 /ui/imports/ui/components/env-main-info/env-main-info.js | |
parent | b70483739d1f6f4f0d31987ed2e4d1e30d71d579 (diff) |
adding calipso ui
Change-Id: Ifa6f63daebb07f45580f747341960e898fdb00c4
Signed-off-by: Koren Lev <korenlev@gmail.com>
Diffstat (limited to 'ui/imports/ui/components/env-main-info/env-main-info.js')
-rw-r--r-- | ui/imports/ui/components/env-main-info/env-main-info.js | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/ui/imports/ui/components/env-main-info/env-main-info.js b/ui/imports/ui/components/env-main-info/env-main-info.js new file mode 100644 index 0000000..d866c0e --- /dev/null +++ b/ui/imports/ui/components/env-main-info/env-main-info.js @@ -0,0 +1,123 @@ +///////////////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / +// / +// All rights reserved. This program and the accompanying materials / +// are made available under the terms of the Apache License, Version 2.0 / +// which accompanies this distribution, and is available at / +// http://www.apache.org/licenses/LICENSE-2.0 / +///////////////////////////////////////////////////////////////////////////////////////// +/* + * Template Component: EnvMainInfo + */ + +//import { Meteor } from 'meteor/meteor'; +import { Template } from 'meteor/templating'; +import { ReactiveDict } from 'meteor/reactive-dict'; +import * as R from 'ramda'; + +import '/imports/ui/components/input-model/input-model'; +import '/imports/ui/components/select-model/select-model'; +import { createInputArgs } from '/imports/ui/lib/input-model'; +import { createSelectArgs } from '/imports/ui/lib/select-model'; +import { Constants } from '/imports/api/constants/constants'; + +import './env-main-info.html'; + +/* + * Lifecycles + */ + +Template.EnvMainInfo.onCreated(function () { + let instance = this; + + instance.state = new ReactiveDict(); + instance.state.setDefault({ + action: null, + }); + + instance.autorun(function () { + let action = Template.currentData().action; + instance.state.set('action', action); + + instance.subscribe('constants'); + }); + +}); + +/* +Template.EnvironmentWizard.rendered = function(){ +}; +*/ + +/* + * Helpers + */ + +Template.EnvMainInfo.helpers({ + /* + createInputArgs: function (params) { + let instance = Template.instance(); + return { + context: params.hash.context, + key: params.hash.key, + type: params.hash.type, + placeholder: params.hash.placeholder, + setModel: instance.data.setModel + }; + }*/ + createInputArgs: createInputArgs, + + createSelectArgs: createSelectArgs, + + distributionOptions: function () { + let item = Constants.findOne({ name: 'distributions' }); + if (R.isNil(item)) { return []; } + return item.data; + }, + + /* depracated + networkOptions: function () { + let item = Constants.findOne({ name: 'network_plugins' }); + if (R.isNil(item)) { return []; } + return item.data; + }, + */ + + typeDriversOptions: function () { + let item = Constants.findOne({ name: 'type_drivers' }); + if (R.isNil(item)) { return []; } + return item.data; + }, + + mechanismDriversOptions: function () { + let item = Constants.findOne({ name: 'mechanism_drivers' }); + if (R.isNil(item)) { return []; } + return item.data; + }, + + isFieldDisabled: function (fieldName, globalDisabled) { + let instance = Template.instance(); + if (globalDisabled) { return true; } + + return isDisabledByField(fieldName, instance.state.get('action')); + } +}); + +/* + * Events + */ + +Template.EnvMainInfo.events({ + 'click .sm-next-button': function () { + let instance = Template.instance(); + instance.data.onNextRequested(); + } +}); + +function isDisabledByField(fieldName, actionName) { + if (R.contains(fieldName, ['name', 'distribution']) && actionName !== 'insert') { + return true; + } + + return false; +} |