| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- // Licensed to Cloudera, Inc. under one
- // or more contributor license agreements. See the NOTICE file
- // distributed with this work for additional information
- // regarding copyright ownership. Cloudera, Inc. licenses this file
- // to you under the Apache License, Version 2.0 (the
- // "License"); you may not use this file except in compliance
- // with the License. You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- //// Get collections utils
- function fetcher_success(name, Node, options) {
- return function(data) {
- switch(data.status) {
- case -1:
- $(document).trigger('connection_error.' + name, [options, data])
- break;
- case 0:
- var nodes = [];
- $.each(data[name], function(index, model_dict) {
- var node = new Node({modelDict: model_dict});
- nodes.push(node);
- });
- $(document).trigger('loaded.' + name, [nodes, options]);
- break;
- default:
- case 1:
- $(document).trigger('load_error.' + name, [options, data]);
- break;
- }
- };
- }
- //// KO utils
- ko.bindingHandlers.routie = {
- init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
- $(element).click(function() {
- var url = ko.utils.unwrapObservable(valueAccessor());
- routie(url);
- return false;
- });
- }
- };
- ko.bindingHandlers.editableText = {
- init: function(element, valueAccessor) {
- $(element).on('blur', function() {
- var observable = valueAccessor();
- observable( $(this).text() );
- });
- },
- update: function(element, valueAccessor) {
- var value = ko.utils.unwrapObservable(valueAccessor());
- $(element).text(value);
- }
- };
- ko.bindingHandlers.clickValue = {
- init: function(element, valueAccessor) {
- var value = ko.utils.unwrapObservable(valueAccessor());
- if ($(element).val() == value) {
- $(element).click();
- }
- $(element).on('click', function() {
- var observable = valueAccessor();
- observable( $(this).val() );
- });
- },
- update: function(element, valueAccessor) {
- var value = ko.utils.unwrapObservable(valueAccessor());
- if ($(element).val() == value) {
- $(element).click();
- }
- }
- };
- //// JQuery Utils
- if (jQuery) {
- jQuery.extend({
- setdefault: function(obj, accessor, default_value) {
- if (!(accessor in obj)) {
- obj[accessor] = default_value;
- }
- return obj[accessor];
- }
- });
- }
|