'use strict' ;
var _createClass = ( function ( ) { function defineProperties ( target , props ) { for ( var i = 0 ; i < props . length ; i ++ ) { var descriptor = props [ i ] ; descriptor . enumerable = descriptor . enumerable || false ; descriptor . configurable = true ; if ( "value" in descriptor ) descriptor . writable = true ; Object . defineProperty ( target , descriptor . key , descriptor ) ; } } return function ( Constructor , protoProps , staticProps ) { if ( protoProps ) defineProperties ( Constructor . prototype , protoProps ) ; if ( staticProps ) defineProperties ( Constructor , staticProps ) ; return Constructor ; } ; } ) ( ) ;
function _possibleConstructorReturn ( self , call ) { if ( ! self ) { throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ; } return call && ( typeof call === "object" || typeof call === "function" ) ? call : self ; }
function _inherits ( subClass , superClass ) { if ( typeof superClass !== "function" && superClass !== null ) { throw new TypeError ( "Super expression must either be null or a function, not " + typeof superClass ) ; } subClass . prototype = Object . create ( superClass && superClass . prototype , { constructor : { value : subClass , enumerable : false , writable : true , configurable : true } } ) ; if ( superClass ) Object . setPrototypeOf ? Object . setPrototypeOf ( subClass , superClass ) : subClass . _ _proto _ _ = superClass ; }
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( "Cannot call a class as a function" ) ; } }
/ *
*
* Copyright © 2015 - 2016 Antergos
*
* greeter . js
*
* This file is part of lightdm - webkit - theme - antergos
*
* lightdm - webkit - theme - antergos is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License ,
* or any later version .
*
* lightdm - webkit - theme - antergos is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* The following additional terms are in effect as per Section 7 of this license :
*
* The preservation of all legal notices and author attributions in
* the material or in the Appropriate Legal Notices displayed
* by works containing it is required .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
* /
/ * *
* This is used to access our classes from within jQuery callbacks .
* /
var _self = null ;
var _bg _self = null ;
/ * *
* This is used so we don ' t ask the greeter for config values more than once .
* /
var _have _config _values = false ;
/ * *
* Capitalize a string .
*
* @ returns { string }
* /
String . prototype . capitalize = function ( ) {
return this . charAt ( 0 ) . toUpperCase ( ) + this . slice ( 1 ) ;
} ;
/ * *
* This class handles the theme ' s background switcher .
* /
var GreeterThemeComponent = ( function ( ) {
function GreeterThemeComponent ( ) {
_classCallCheck ( this , GreeterThemeComponent ) ;
this . debug = this . cache _get ( 'debug' , 'enabled' ) ;
this . lang = window . navigator . language . split ( '-' ) [ 0 ] . toLowerCase ( ) ;
this . translations = window . ant _translations ;
if ( 'undefined' === typeof window . navigator . languages ) {
window . navigator . languages = [ window . navigator . language ] ;
}
this . init _config _values ( ) ;
}
/ * *
* Add text to the debug log element ( accessible from the login screen ) .
*
* @ param { string } text - To be added to the log .
* /
_createClass ( GreeterThemeComponent , [ {
key : 'log' ,
value : function log ( text ) {
if ( 'true' === this . debug ) {
console . log ( text ) ;
}
$ ( '#logArea' ) . append ( text + '<br/>' ) ;
}
/ * *
* Get a key ' s value from localStorage . Keys can have two or more parts .
* For example : "ant:user:john:session" .
*
* @ param { ... string } key _parts - Strings that are combined to form the key .
* /
} , {
key : 'cache_get' ,
value : function cache _get ( ) {
var key = 'ant' ;
for ( var _len = arguments . length , key _parts = Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
key _parts [ _key ] = arguments [ _key ] ;
}
var _iteratorNormalCompletion = true ;
var _didIteratorError = false ;
var _iteratorError = undefined ;
try {
for ( var _iterator = key _parts [ Symbol . iterator ] ( ) , _step ; ! ( _iteratorNormalCompletion = ( _step = _iterator . next ( ) ) . done ) ; _iteratorNormalCompletion = true ) {
var part = _step . value ;
key += ':' + part ;
}
} catch ( err ) {
_didIteratorError = true ;
_iteratorError = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion && _iterator . return ) {
_iterator . return ( ) ;
}
} finally {
if ( _didIteratorError ) {
throw _iteratorError ;
}
}
}
return localStorage . getItem ( key ) ;
}
/ * *
* Set a key ' s value in localStorage . Keys can have two or more parts .
* For example : "ant:user:john:session" .
*
* @ param { string } value - The value to set .
* @ param { ... string } key _parts - Strings that are combined to form the key .
* /
} , {
key : 'cache_set' ,
value : function cache _set ( value ) {
var key = 'ant' ;
for ( var _len2 = arguments . length , key _parts = Array ( _len2 > 1 ? _len2 - 1 : 0 ) , _key2 = 1 ; _key2 < _len2 ; _key2 ++ ) {
key _parts [ _key2 - 1 ] = arguments [ _key2 ] ;
}
var _iteratorNormalCompletion2 = true ;
var _didIteratorError2 = false ;
var _iteratorError2 = undefined ;
try {
for ( var _iterator2 = key _parts [ Symbol . iterator ] ( ) , _step2 ; ! ( _iteratorNormalCompletion2 = ( _step2 = _iterator2 . next ( ) ) . done ) ; _iteratorNormalCompletion2 = true ) {
var part = _step2 . value ;
key += ':' + part ;
}
} catch ( err ) {
_didIteratorError2 = true ;
_iteratorError2 = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion2 && _iterator2 . return ) {
_iterator2 . return ( ) ;
}
} finally {
if ( _didIteratorError2 ) {
throw _iteratorError2 ;
}
}
}
return localStorage . setItem ( key , value ) ;
}
/ * *
* Get some values from ` lightdm-webkit2-greeter.conf ` and save them for later .
* /
} , {
key : 'init_config_values' ,
value : function init _config _values ( ) {
var logo = '' ,
background _images = '' ,
background _images _dir = '' ;
if ( 'undefined' !== typeof config ) {
if ( this instanceof AntergosTheme ) {
logo = config . get _str ( 'branding' , 'logo_image' ) || '' ;
} else if ( this instanceof AntergosBackgroundManager ) {
background _images = config . get _str ( 'branding' , 'background_images_array' ) || '' ;
background _images = background _images . length ? background _images . split ( ',' ) : [ ] ;
background _images _dir = config . get _str ( 'branding' , 'background_images' ) || '' ;
}
}
this . logo = logo ;
this . background _images = background _images ;
this . background _images _dir = background _images _dir ;
}
} ] ) ;
return GreeterThemeComponent ;
} ) ( ) ;
/ * *
* This class handles the theme ' s background switcher .
* /
var AntergosBackgroundManager = ( function ( _GreeterThemeComponen ) {
_inherits ( AntergosBackgroundManager , _GreeterThemeComponen ) ;
function AntergosBackgroundManager ( ) {
var _ret ;
_classCallCheck ( this , AntergosBackgroundManager ) ;
var _this = _possibleConstructorReturn ( this , Object . getPrototypeOf ( AntergosBackgroundManager ) . call ( this ) ) ;
if ( null === _bg _self ) {
_bg _self = _this ;
}
_this . current _background = _this . cache _get ( 'background_config' , 'current_background' ) ;
if ( ! _this . background _images _dir . length || ! _this . background _images . length ) {
_this . log ( 'AntergosBackgroundManager: [ERROR] No background images detected.' ) ;
}
_this . initialize ( ) ;
return _ret = _bg _self , _possibleConstructorReturn ( _this , _ret ) ;
}
_createClass ( AntergosBackgroundManager , [ {
key : 'initialize' ,
value : function initialize ( ) {
if ( ! this . current _background ) {
// For backwards compatibility
if ( null !== localStorage . getItem ( 'bgsaved' ) && '0' === localStorage . getItem ( 'bgrandom' ) ) {
this . current _background = localStorage . getItem ( 'bgsaved' ) ;
this . cache _set ( this . current _background , 'background_manager' , 'current_background' ) ;
localStorage . removeItem ( 'bgrandom' ) ;
localStorage . removeItem ( 'bgsaved' ) ;
} else if ( '0' === localStorage . getItem ( 'bgrandom' ) ) {
this . current _background = this . get _random _image ( ) ;
this . cache _set ( 'true' , 'background_manager' , 'random_background' ) ;
localStorage . removeItem ( 'bgrandom' ) ;
}
}
if ( ! this . current _background ) {
// For current and future versions
var current _background = this . cache _get ( 'background_manager' , 'current_background' ) ,
random _background = this . cache _get ( 'background_manager' , 'random_background' ) ;
if ( 'true' === random _background ) { }
}
$ ( '.header' ) . fadeTo ( 300 , 0.5 , function ( ) {
$ ( '.header' ) . css ( "background" , this . current _background ) ;
} ) . fadeTo ( 300 , 1 ) ;
}
} , {
key : 'get_random_image' ,
value : function get _random _image ( ) {
var background = undefined ,
random _bg = undefined ;
if ( this . background _images . length ) {
random _bg = Math . floor ( Math . random ( ) * this . background _images . length ) ;
background = this . background _images [ random _bg ] ;
}
}
} , {
key : 'get_old_backgrounds' ,
value : function get _old _backgrounds ( ) {
var old _backgrounds = [ ] ;
$ ( '.bgs .clearfix' ) . each ( function ( i ) {
if ( i > 0 ) {
old _backgrounds . push ( $ ( this ) . attr ( 'data-img' ) ) ;
}
} ) ;
}
} ] ) ;
return AntergosBackgroundManager ;
} ) ( GreeterThemeComponent ) ;
/ * *
* This is the theme 's main class object. It contains almost all the theme' s logic .
* /
var AntergosTheme = ( function ( _GreeterThemeComponen2 ) {
_inherits ( AntergosTheme , _GreeterThemeComponen2 ) ;
function AntergosTheme ( ) {
var _ret2 ;
_classCallCheck ( this , AntergosTheme ) ;
var _this2 = _possibleConstructorReturn ( this , Object . getPrototypeOf ( AntergosTheme ) . call ( this ) ) ;
if ( null === _self ) {
_self = _this2 ;
}
_this2 . user _list _visible = false ;
_this2 . auth _pending = false ;
_this2 . selected _user = null ;
_this2 . $user _list = $ ( '#user-list2' ) ;
_this2 . $session _list = $ ( '#sessions' ) ;
_this2 . $clock _container = $ ( '#collapseOne' ) ;
_this2 . $clock = $ ( "#current_time" ) ;
_this2 . $actions _container = $ ( "#actionsArea" ) ;
_this2 . $msg _area _container = $ ( '#statusArea' ) ;
_this2 . $msg _area = $ ( '#showMsg' ) ;
_this2 . background _manager = new AntergosBackgroundManager ( ) ;
_this2 . initialize ( ) ;
return _ret2 = _self , _possibleConstructorReturn ( _this2 , _ret2 ) ;
}
_createClass ( AntergosTheme , [ {
key : 'initialize' ,
value : function initialize ( ) {
this . prepare _translations ( ) ;
this . do _static _translations ( ) ;
this . initialize _clock ( ) ;
this . prepare _login _panel _header ( ) ;
this . prepare _user _list ( ) ;
this . prepare _session _list ( ) ;
this . prepare _system _action _buttons ( ) ;
this . register _callbacks ( ) ;
}
/ * *
* Register callbacks for the LDM Greeter as well as any others that haven ' t been registered
* elsewhere .
* /
} , {
key : 'register_callbacks' ,
value : function register _callbacks ( ) {
var events = 'shown.bs.collapse, hidden.bs.collapse' ;
this . $user _list . parents ( '.collapse' ) . on ( events , this . user _list _collapse _handler ) ;
$ ( document ) . keydown ( this . key _press _handler ) ;
$ ( '.cancel_auth' ) . click ( this . cancel _authentication ) ;
$ ( '.submit_passwd' ) . click ( this . submit _password ) ;
window . show _prompt = this . show _prompt ;
window . show _message = this . show _message ;
window . start _authentication = this . start _authentication ;
window . cancel _authentication = this . cancel _authentication ;
window . authentication _complete = this . authentication _complete ;
window . autologin _timer _expired = this . cancel _authentication ;
}
/ * *
* Initialize the user list .
* /
} , {
key : 'prepare_user_list' ,
value : function prepare _user _list ( ) {
var tux = 'img/antergos-logo-user.png' ,
template ;
// Loop through the array of LightDMUser objects to create our user list.
var _iteratorNormalCompletion3 = true ;
var _didIteratorError3 = false ;
var _iteratorError3 = undefined ;
try {
for ( var _iterator3 = lightdm . users [ Symbol . iterator ] ( ) , _step3 ; ! ( _iteratorNormalCompletion3 = ( _step3 = _iterator3 . next ( ) ) . done ) ; _iteratorNormalCompletion3 = true ) {
var user = _step3 . value ;
var last _session = this . cache _get ( 'user' , user . name , 'session' ) ,
image _src = user . image . length ? user . image : tux ;
if ( null === last _session ) {
// For backwards compatibility
last _session = localStorage . getItem ( user . name ) ;
if ( null === last _session ) {
// This user has never logged in before let's enable the system's default
// session.
last _session = lightdm . default _session ;
}
this . cache _set ( last _session , 'user' , user . name , 'session' ) ;
}
this . log ( 'Last session for ' + user . name + ' was: ' + last _session ) ;
template = '\n\t\t\t\t<a href="#" id="' + user . name + '" class="list-group-item ' + user . name + '" data-session="' + last _session + '">\n\t\t\t\t\t<img src="' + image _src + '" class="img-circle" alt="' + user . display _name + '" />\n\t\t\t\t\t<span>' + user . display _name + '</span>\n\t\t\t\t\t<span class="badge"><i class="fa fa-check"></i></span>\n\t\t\t\t</a>' ;
// Register event handler here so we don't have to iterate over the users again later.
$ ( template ) . appendTo ( this . $user _list ) . click ( this . start _authentication ) ;
} // END for ( var user of lightdm.users )
} catch ( err ) {
_didIteratorError3 = true ;
_iteratorError3 = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion3 && _iterator3 . return ) {
_iterator3 . return ( ) ;
}
} finally {
if ( _didIteratorError3 ) {
throw _iteratorError3 ;
}
}
}
if ( $ ( this . $user _list ) . children ( ) . length > 3 ) {
// Make the user list two columns instead of one.
$ ( this . $user _list ) . css ( 'column-count' , '2' ) . parent ( ) . css ( 'max-width' , '85%' ) ;
}
}
/ * *
* Initialize the session selection dropdown .
* /
} , {
key : 'prepare_session_list' ,
value : function prepare _session _list ( ) {
// Loop through the array of LightDMSession objects to create our session list.
var _iteratorNormalCompletion4 = true ;
var _didIteratorError4 = false ;
var _iteratorError4 = undefined ;
try {
for ( var _iterator4 = lightdm . sessions [ Symbol . iterator ] ( ) , _step4 ; ! ( _iteratorNormalCompletion4 = ( _step4 = _iterator4 . next ( ) ) . done ) ; _iteratorNormalCompletion4 = true ) {
var session = _step4 . value ;
var css _class = session . name . replace ( / /g , '' ) ,
template ;
this . log ( 'Adding ' + session . name + ' to the session list...' ) ;
template = '\n\t\t\t\t<li>\n\t\t\t\t\t<a href="#" data-session-id="' + session . key + '" class="' + css _class + '">' + session . name + '</a>\n\t\t\t\t</li>' ;
$ ( template ) . appendTo ( this . $session _list ) . click ( this . session _toggle _handler ) ;
} // END for (var session of lightdm.sessions)
} catch ( err ) {
_didIteratorError4 = true ;
_iteratorError4 = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion4 && _iterator4 . return ) {
_iterator4 . return ( ) ;
}
} finally {
if ( _didIteratorError4 ) {
throw _iteratorError4 ;
}
}
}
$ ( '.dropdown-toggle' ) . dropdown ( ) ;
}
/ * *
* Initialize the system action buttons
* /
} , {
key : 'prepare_system_action_buttons' ,
value : function prepare _system _action _buttons ( ) {
var actions = {
shutdown : "power-off" ,
hibernate : "asterisk" ,
suspend : "arrow-down" ,
restart : "refresh"
} ,
template ;
var _iteratorNormalCompletion5 = true ;
var _didIteratorError5 = false ;
var _iteratorError5 = undefined ;
try {
for ( var _iterator5 = Object . keys ( actions ) [ Symbol . iterator ] ( ) , _step5 ; ! ( _iteratorNormalCompletion5 = ( _step5 = _iterator5 . next ( ) ) . done ) ; _iteratorNormalCompletion5 = true ) {
var action = _step5 . value ;
var cmd = 'can_' + action ;
template = '\n\t\t\t\t<a href="#" id="' + action + '" class="btn btn-default ' + action + '" data-toggle="tooltip" data-placement="top" title="' + action . capitalize ( ) + '" data-container="body">\n\t\t\t\t\t<i class="fa fa-' + actions [ action ] + '"></i>\n\t\t\t\t</a>' ;
if ( lightdm [ cmd ] ) {
$ ( template ) . appendTo ( $ ( this . $actions _container ) ) . click ( this . system _action _handler ) ;
}
} // END for (var [action, icon] of actions)
} catch ( err ) {
_didIteratorError5 = true ;
_iteratorError5 = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion5 && _iterator5 . return ) {
_iterator5 . return ( ) ;
}
} finally {
if ( _didIteratorError5 ) {
throw _iteratorError5 ;
}
}
}
$ ( '[data-toggle=tooltip]' ) . tooltip ( ) ;
$ ( '.modal' ) . modal ( { show : false } ) ;
}
} , {
key : 'initialize_clock' ,
value : function initialize _clock ( ) {
var _this3 = this ;
var saved _format = this . cache _get ( 'clock' , 'time_format' ) ,
format = null !== saved _format ? saved _format : 'LT' ;
moment . locale ( window . navigator . languages ) ;
this . $clock . html ( moment ( ) . format ( format ) ) ;
setInterval ( function ( ) {
_this3 . $clock . html ( moment ( ) . format ( format ) ) ;
} , 60000 ) ;
}
/ * *
* Show the user list if its not already shown . This is used to allow the user to
* display the user list by pressing Enter or Spacebar .
* /
} , {
key : 'show_user_list' ,
value : function show _user _list ( ) {
if ( $ ( this . $clock _container ) . hasClass ( 'in' ) ) {
$ ( '#trigger' ) . trigger ( 'click' ) ;
}
if ( $ ( this . $user _list ) . length <= 1 ) {
$ ( this . $user _list ) . find ( 'a' ) . trigger ( 'click' , this ) ;
}
}
} , {
key : 'prepare_login_panel_header' ,
value : function prepare _login _panel _header ( ) {
var greeting = this . translations . greeting ? this . translations . greeting : 'Welcome!' ,
logo = '' !== this . logo ? this . logo : 'img/antergos.png' ;
$ ( '.welcome' ) . text ( greeting ) ;
$ ( '#hostname' ) . append ( lightdm . hostname ) ;
}
} , {
key : 'prepare_translations' ,
value : function prepare _translations ( ) {
if ( ! this . translations . hasOwnProperty ( this . lang ) ) {
var _iteratorNormalCompletion6 = true ;
var _didIteratorError6 = false ;
var _iteratorError6 = undefined ;
try {
for ( var _iterator6 = window . navigator . languages [ Symbol . iterator ] ( ) , _step6 ; ! ( _iteratorNormalCompletion6 = ( _step6 = _iterator6 . next ( ) ) . done ) ; _iteratorNormalCompletion6 = true ) {
var lang = _step6 . value ;
if ( this . translations . hasOwnProperty ( lang ) ) {
this . lang = lang ;
break ;
}
}
} catch ( err ) {
_didIteratorError6 = true ;
_iteratorError6 = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion6 && _iterator6 . return ) {
_iterator6 . return ( ) ;
}
} finally {
if ( _didIteratorError6 ) {
throw _iteratorError6 ;
}
}
}
}
if ( ! this . translations . hasOwnProperty ( this . lang ) ) {
this . lang = 'en' ;
}
this . translations = this . translations [ this . lang ] ;
}
/ * *
* Replace '${i18n}' with translated string for all elements that
* have the data - i18n attribute . This is for elements that are not generated
* dynamically ( they can be found in index . html ) .
* /
} , {
key : 'do_static_translations' ,
value : function do _static _translations ( ) {
$ ( '[data-i18n]' ) . each ( function ( ) {
var key = $ ( this ) . attr ( 'data-i18n' ) ,
html = $ ( this ) . html ( ) ,
translated = _self . translations [ key ] ,
new _html = html . replace ( '${i18n}' , translated ) ;
$ ( this ) . html ( new _html ) ;
} ) ;
}
/ * *
* Start the authentication process for the selected user .
*
* @ param { object } event - jQuery . Event object from 'click' event .
* /
} , {
key : 'start_authentication' ,
value : function start _authentication ( event ) {
var user _id = $ ( this ) . attr ( 'id' ) ,
selector = '.' + user _id ,
user _session = _self . cache _get ( 'user' , user _id , 'session' ) ;
if ( _self . auth _pending || null !== _self . selected _user ) {
lightdm . cancel _authentication ( ) ;
_self . log ( 'Authentication cancelled for ' + _self . selected _user ) ;
_self . selected _user = null ;
}
_self . log ( 'Starting authentication for ' + user _id + '.' ) ;
_self . selected _user = user _id ;
// CSS hack to workaround webkit bug
if ( $ ( _self . $user _list ) . children ( ) . length > 3 ) {
$ ( _self . $user _list ) . css ( 'column-count' , 'initial' ) . parent ( ) . css ( 'max-width' , '50%' ) ;
}
$ ( selector ) . addClass ( 'hovered' ) . siblings ( ) . hide ( ) ;
$ ( '.fa-toggle-down' ) . hide ( ) ;
_self . log ( 'Session for ' + user _id + ' is ' + user _session ) ;
$ ( '[data-session-id="' + user _session + '"]' ) . parent ( ) . trigger ( 'click' , this ) ;
$ ( '#session-list' ) . removeClass ( 'hidden' ) . show ( ) ;
$ ( '#passwordArea' ) . show ( ) ;
$ ( '.dropdown-toggle' ) . dropdown ( ) ;
_self . auth _pending = true ;
lightdm . authenticate ( user _id ) ;
}
/ * *
* Cancel the pending authentication .
*
* @ param { object } event - jQuery . Event object from 'click' event .
* /
} , {
key : 'cancel_authentication' ,
value : function cancel _authentication ( event ) {
var selectors = [ '#statusArea' , '#timerArea' , '#passwordArea' , '#session-list' ] ;
var _iteratorNormalCompletion7 = true ;
var _didIteratorError7 = false ;
var _iteratorError7 = undefined ;
try {
for ( var _iterator7 = selectors [ Symbol . iterator ] ( ) , _step7 ; ! ( _iteratorNormalCompletion7 = ( _step7 = _iterator7 . next ( ) ) . done ) ; _iteratorNormalCompletion7 = true ) {
var selector = _step7 . value ;
$ ( selector ) . hide ( ) ;
}
} catch ( err ) {
_didIteratorError7 = true ;
_iteratorError7 = err ;
} finally {
try {
if ( ! _iteratorNormalCompletion7 && _iterator7 . return ) {
_iterator7 . return ( ) ;
}
} finally {
if ( _didIteratorError7 ) {
throw _iteratorError7 ;
}
}
}
lightdm . cancel _authentication ( ) ;
_self . log ( 'Cancelled authentication.' ) ;
// CSS hack to work-around webkit bug
if ( $ ( _self . $user _list ) . children ( ) . length > 3 ) {
$ ( _self . $user _list ) . css ( 'column-count' , '2' ) . parent ( ) . css ( 'max-width' , '85%' ) ;
}
$ ( '.hovered' ) . removeClass ( 'hovered' ) . siblings ( ) . show ( ) ;
$ ( '.fa-toggle-down' ) . show ( ) ;
_self . selected _user = null ;
_self . auth _pending = false ;
}
/ * *
* Called when the user attempts to authenticate ( inputs password ) .
* We check to see if the user successfully authenticated and if so tell the LDM
* Greeter to log them in with the session they selected .
* /
} , {
key : 'authentication_complete' ,
value : function authentication _complete ( ) {
var selected _session = $ ( '.selected' ) . attr ( 'data-session-id' ) ,
err _msg = _self . translations . auth _failed [ _self . lang ] ;
_self . auth _pending = false ;
_self . cache _set ( selected _session , 'user' , lightdm . authentication _user , 'session' ) ;
$ ( '#timerArea' ) . hide ( ) ;
if ( lightdm . is _authenticated ) {
// The user entered the correct password. Let's log them in.
lightdm . login ( lightdm . authentication _user , selected _session ) ;
} else {
// The user did not enter the correct password. Show error message.
$ ( '#statusArea' ) . show ( ) ;
}
}
} , {
key : 'submit_password' ,
value : function submit _password ( event ) {
lightdm . respond ( $ ( '#passwordField' ) . val ( ) ) ;
$ ( '#passwordArea' ) . hide ( ) ;
$ ( '#timerArea' ) . show ( ) ;
}
} , {
key : 'session_toggle_handler' ,
value : function session _toggle _handler ( event ) {
var $session = $ ( this ) . children ( 'a' ) ,
session _name = $session . text ( ) ,
session _key = $session . attr ( 'data-session-id' ) ;
$session . parents ( '.btn-group' ) . find ( '.selected' ) . attr ( 'data-session-id' , session _key ) . html ( session _name ) ;
}
} , {
key : 'key_press_handler' ,
value : function key _press _handler ( event ) {
var action ;
switch ( event . which ) {
case 13 :
action = _self . auth _pending ? _self . submit _password ( ) : ! _self . user _list _visible ? _self . show _user _list ( ) : 0 ;
_self . log ( action ) ;
break ;
case 27 :
action = _self . auth _pending ? _self . cancel _authentication ( ) : 0 ;
_self . log ( action ) ;
break ;
case 32 :
action = ! _self . user _list _visible && ! _self . auth _pending ? _self . show _user _list ( ) : 0 ;
_self . log ( action ) ;
break ;
default :
break ;
}
}
} , {
key : 'system_action_handler' ,
value : function system _action _handler ( ) {
var _this4 = this ;
var action = $ ( this ) . attr ( 'id' ) ,
$modal = $ ( '.modal' ) ;
$modal . find ( '.btn-primary' ) . text ( _self . translations [ action ] ) . click ( action , function ( event ) {
$ ( _this4 ) . off ( 'click' ) ;
lightdm [ event . data ] ( ) ;
} ) ;
$modal . find ( '.btn-default' ) . click ( function ( ) {
$ ( _this4 ) . next ( ) . off ( 'click' ) ;
} ) ;
$modal . modal ( 'toggle' ) ;
}
} , {
key : 'user_list_collapse_handler' ,
value : function user _list _collapse _handler ( ) {
_self . user _list _visible = _self . $user _list . hasClass ( 'in' ) ? true : false ;
}
/ * *
* LightDM Callback - Show password prompt to user .
*
* @ param text
* @ param type
* /
} , {
key : 'show_prompt' ,
value : function show _prompt ( text , type ) {
if ( 'password' === type ) {
$ ( '#passwordField' ) . val ( "" ) ;
$ ( '#passwordArea' ) . show ( ) ;
$ ( '#passwordField' ) . focus ( ) ;
}
}
/ * *
* LightDM Callback - Show message to user .
*
* @ param text
* /
} , {
key : 'show_message' ,
value : function show _message ( text , type ) {
if ( text . length > 0 ) {
$ ( this . $msg _area ) . html ( text ) ;
$ ( '#passwordArea' ) . hide ( ) ;
$ ( this . $msg _area _container ) . show ( ) ;
}
}
} ] ) ;
return AntergosTheme ;
} ) ( GreeterThemeComponent ) ;
/ * *
* Initialize the theme once the window has loaded .
* /
$ ( window ) . load ( function ( ) {
_self = new AntergosTheme ( ) ;
} ) ;
//# sourceMappingURL=greeter-compiled.js.map