| Index: chrome/browser/resources/md_policy/policy_ui.js
|
| diff --git a/chrome/browser/resources/md_policy/policy_ui.js b/chrome/browser/resources/md_policy/policy_ui.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..41446de1ad8677e6c4285dacae54eeae9c1a7011
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/md_policy/policy_ui.js
|
| @@ -0,0 +1,99 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +/**
|
| + * Define a global entry point that will be set when the page is initialized.
|
| + * @return {?PolicyUi}
|
| + */
|
| +cr.define('policy', function() {
|
| + return {Page: null};
|
| +});
|
| +
|
| +/**
|
| + * @fileoverview
|
| + * 'policy-ui' is the main MD element, combining the UI and models.
|
| + *
|
| + * Example:
|
| + * <policy-ui></policy-ui>
|
| + *
|
| + * @group Chrome Policy Elements
|
| + * @element policy-ui
|
| + */
|
| +PolicyUi = Polymer({
|
| + is: 'policy-ui',
|
| +
|
| + properties: {
|
| + /**
|
| + * Object containing title and text of the introduction card.
|
| + * @type {!{title: string, text: string}}
|
| + */
|
| + introduction: {
|
| + type: Object,
|
| + // TODO(fhorschig): i18n! Replace sample text with reviewed message.
|
| + value: {
|
| + title: 'Managed account policies',
|
| + text: 'Your device and your user account are managed which means ' +
|
| + 'that some of your settings are fixed by your administrator.\n' +
|
| + 'The cards below explain how the administrator\'s choices may ' +
|
| + 'impact your privacy or security.'
|
| + },
|
| + readOnly: true,
|
| + },
|
| +
|
| + /**
|
| + * Array containing all known tags.
|
| + * @type {!Array<Object<string>>}
|
| + * @private
|
| + */
|
| + tags_: Array,
|
| + },
|
| +
|
| + /** @override */
|
| + ready: function() {
|
| + // Set this element as receiver of calls to the Page.
|
| + policy.Page = this;
|
| +
|
| + // Notify the browser that the page has loaded, causing it to send the
|
| + // list of all known policies, the current policy values and the cloud
|
| + // policy status.
|
| + chrome.send('initialized');
|
| + },
|
| +
|
| + /**
|
| + * Receives a list of known tags and creates an empty policy list for each.
|
| + * @param {!Array<string>} tags List of tags.
|
| + */
|
| + setPolicyGroups: function(tags) {
|
| + this.set('tags_', tags);
|
| + },
|
| +
|
| + /**
|
| + * Creates UI elements for tagged policies within the passed |names| object.
|
| + * @param {!{chromePolicyNames: !Object<!Array<string>>}} namesWithTags
|
| + */
|
| + setPolicyNames: function(namesWithTags) {
|
| + for (var name in namesWithTags.chromePolicyNames) {
|
| + namesWithTags.chromePolicyNames[name].forEach((function(tag) {
|
| + this.$.groups.querySelector('[risk-tag="' + tag + '"]').addPolicy(name);
|
| + }).bind(this));
|
| + }
|
| + },
|
| +
|
| + /**
|
| + * Receives a list of current values that it hands down to children.
|
| + * @param {!{chromePolicies: !Object<string>}} values Current policies.
|
| + */
|
| + setPolicyValues: function(values) {
|
| + // TODO(fhorschig): Update or notify tag groups.
|
| + },
|
| +
|
| + /**
|
| + * Receives an object with meta data about the currently set policies.
|
| + * @param {!Object} status Dictionary containing meta data about set policies.
|
| + */
|
| + setStatus: function(status) {
|
| + // TODO(fhorschig): Update |this.$.introduction| with status information.
|
| + // text according to policy status.
|
| + }
|
| +});
|
|
|