query.ko.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // Licensed to Cloudera, Inc. under one
  2. // or more contributor license agreements. See the NOTICE file
  3. // distributed with this work for additional information
  4. // regarding copyright ownership. Cloudera, Inc. licenses this file
  5. // to you under the Apache License, Version 2.0 (the
  6. // "License"); you may not use this file except in compliance
  7. // with the License. You may obtain a copy of the License at
  8. //
  9. // http://www.apache.org/licenses/LICENSE-2.0
  10. //
  11. // Unless required by applicable law or agreed to in writing, software
  12. // distributed under the License is distributed on an "AS IS" BASIS,
  13. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. // See the License for the specific language governing permissions and
  15. // limitations under the License.
  16. function QueryViewModel(json_tags, json_docs) {
  17. var self = this;
  18. var MOCK_TAGS = {
  19. 'history': {'name': 'History', 'id': 1, 'docs': [1], 'type': 'history'},
  20. 'trash': {'name': 'Trash', 'id': 3, 'docs': [2]},
  21. 'mine': [
  22. {'name': 'default', 'id': 2, 'docs': [3]},
  23. {'name': 'web', 'id': 3, 'docs': [3]}
  24. ],
  25. 'notmine': [
  26. {'name': 'romain', 'projects': [
  27. {'name': 'example', 'id': 20, 'docs': [10]},
  28. {'name': 'ex2', 'id': 30, 'docs': [10, 11]}
  29. ]},
  30. {'name': 'pai', 'projects': [
  31. {'name': 'example2', 'id': 20, 'docs': [10]}
  32. ]}
  33. ]
  34. };
  35. var ALL_DOCUMENTS = json_docs;
  36. self.tags = ko.mapping.fromJS(json_tags);
  37. self.documents = ko.observableArray([]);
  38. self.editTagsToCreate = ko.observableArray([]);
  39. self.editTagsToDelete = ko.observableArray([]);
  40. self.selectedTag = ko.observable("");
  41. self.trash = ko.computed(function () {
  42. return self.tags.trash;
  43. });
  44. self.history = ko.computed(function () {
  45. return self.tags.history;
  46. });
  47. }