Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: chrome/browser/resources/options/chromeos/kiosk_apps.js

Issue 15966004: cros: Move kiosk settings to extensions page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix space Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('options', function() {
6 var OptionsPage = options.OptionsPage;
7
8 /**
9 * Encapsulated handling of ChromeOS kiosk apps options page.
10 * @extends {options.OptionsPage}
11 * @constructor
12 */
13 function KioskAppsOverlay() {
14 OptionsPage.call(this,
15 'kioskAppsOverlay',
16 loadTimeData.getString('kioskOverlayTitle'),
17 'kiosk-apps-page');
18 }
19
20 cr.addSingletonGetter(KioskAppsOverlay);
21
22 KioskAppsOverlay.prototype = {
23 __proto__: OptionsPage.prototype,
24
25 /**
26 * Clear error timer id.
27 * @type {?number}
28 */
29 clearErrorTimer_: null,
30
31 /** @override */
32 initializePage: function() {
33 // Call base class implementation to starts preference initialization.
34 OptionsPage.prototype.initializePage.call(this);
35
36 options.KioskAppList.decorate($('kiosk-app-list'));
37
38 $('kiosk-options-overlay-confirm').onclick =
39 OptionsPage.closeOverlay.bind(OptionsPage);
40 $('kiosk-app-id-edit').addEventListener('keypress',
41 this.handleAppIdInputKeyPressed_);
42
43 Preferences.getInstance().addEventListener(
44 'cros.accounts.deviceLocalAccounts',
45 this.loadAppsIfVisible_.bind(this));
46 Preferences.getInstance().addEventListener(
47 'cros.accounts.deviceLocalAccountAutoLoginId',
48 this.loadAppsIfVisible_.bind(this));
49 },
50
51 /** @override */
52 didShowPage: function() {
53 this.loadAppsIfVisible_();
54 $('kiosk-app-id-edit').focus();
55 },
56
57 /**
58 * Loads the apps if the overlay page is visible.
59 * @private
60 */
61 loadAppsIfVisible_: function() {
62 if (this.visible)
63 chrome.send('getKioskApps');
64 },
65
66 /**
67 * Shows error for given app name/id and schedules it to cleared.
68 * @param {!string} appName App name/id to show in error banner.
69 */
70 showError: function(appName) {
71 var errorBanner = $('kiosk-apps-error-banner');
72 var appNameElement = errorBanner.querySelector('.kiosk-app-name');
73 appNameElement.textContent = appName;
74 errorBanner.classList.add('visible');
75
76 if (this.clearErrorTimer_)
77 window.clearTimeout(this.clearErrorTimer_);
78
79 // Sets a timer to clear out error banner after 5 seconds.
80 this.clearErrorTimer_ = window.setTimeout(function() {
81 errorBanner.classList.remove('visible');
82 this.clearErrorTimer_ = null;
83 }.bind(this), 5000);
84 },
85
86 /**
87 * Handles keypressed event in the app id input element.
88 * @private
89 */
90 handleAppIdInputKeyPressed_: function(e) {
91 if (e.keyIdentifier == 'Enter' && e.target.value) {
92 chrome.send('addKioskApp', [e.target.value]);
93 e.target.value = '';
94 }
95 }
96 };
97
98 /**
99 * Sets apps to be displayed in kiosk-app-list.
100 * @param {!Array.<!Object>} apps An array of app info objects.
101 */
102 KioskAppsOverlay.setApps = function(apps) {
103 $('kiosk-app-list').setApps(apps);
104 };
105
106 /**
107 * Update an app in kiosk-app-list.
108 * @param {!Object} app App info to be updated.
109 */
110 KioskAppsOverlay.updateApp = function(app) {
111 $('kiosk-app-list').updateApp(app);
112 };
113
114 /**
115 * Shows error for given app name/id.
116 * @param {!string} appName App name/id to show in error banner.
117 */
118 KioskAppsOverlay.showError = function(appName) {
119 KioskAppsOverlay.getInstance().showError(appName);
120 };
121
122 // Export
123 return {
124 KioskAppsOverlay: KioskAppsOverlay
125 };
126 });
127
128 <include src="kiosk_app_list.js"></include>
129 <include src="kiosk_app_disable_bailout_confirm.js"></include>
OLDNEW
« no previous file with comments | « chrome/browser/resources/options/chromeos/kiosk_apps.html ('k') | chrome/browser/resources/options/options.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698