@@ -7,18 +7,21 @@ var link = (function(){
77} ,
88group : {
99name : null ,
10+ openAll : null ,
1011items : null
1112}
1213} ;
1314
1415stagedGroup . init = function ( ) {
1516stagedGroup . group . items = [ ] ;
17+ stagedGroup . group . openAll = true ;
1618} ;
1719
1820stagedGroup . reset = function ( ) {
1921stagedGroup . position . origin = null ;
2022stagedGroup . position . destination = null ;
2123stagedGroup . group . name = null ;
24+ stagedGroup . group . openAll = null ;
2225stagedGroup . group . items = null ;
2326} ;
2427
@@ -473,7 +476,7 @@ var link = (function(){
473476if ( state . get . current ( ) . group . name . show ) {
474477groupHeader . appendChild ( groupHeaderItemName ) ;
475478} ;
476- if ( state . get . current ( ) . group . openAll . show && stagedGroup . group . items . length > 0 ) {
479+ if ( state . get . current ( ) . group . openAll . show && stagedGroup . group . openAll && stagedGroup . group . items . length > 0 ) {
477480groupHeader . appendChild ( groupHeaderItemOpenall ) ;
478481} ;
479482group . appendChild ( groupHeader ) ;
@@ -501,17 +504,40 @@ var link = (function(){
501504
502505// group name
503506var groupFormNameInputWrap = helper . node ( "div|class:form-wrap" ) ;
504- var groupFormInputLabel = helper . node ( "label:Name|for:group-form-input-name" ) ;
507+ var groupFormInputNameLabel = helper . node ( "label:Name|for:group-form-input-name" ) ;
505508var groupFormInputName = helper . node ( "input|type:text,class:group-form-input-name,id:group-form-input-name,placeholder:Example group,tabindex:1,autocomplete:off,autocorrect:off,autocapitalize:off,spellcheck:false" ) ;
506509
510+ // open all
511+ var groupFormOpenAllInputWrap = helper . node ( "div|class:form-wrap" ) ;
512+ var groupFormInputOpenallLabel = helper . node ( "label|for:group-form-input-openall" ) ;
513+ var groupFormInputOpenallLabelText = helper . node ( "span:Show Open all in this Group" ) ;
514+ var groupFormInputOpenallLabelIcon = helper . node ( "span|class:label-icon" ) ;
515+ var groupFormOpenAllInput = helper . node ( "input|type:checkbox,class:group-form-input-openall,id:group-form-input-openall,placeholder:Example group,tabindex:1,autocomplete:off,autocorrect:off,autocapitalize:off,spellcheck:false,checked" ) ;
516+ var groupFormOpenAllInputHelper1 = helper . node ( "div|class:form-helper" ) ;
517+ var groupFormOpenAllInputHelper1Item = helper . node ( "p:Override the global Group setting to show or hide the Open all button.|class:link-form-input-icon-helper form-helper-item" ) ;
518+ var groupFormOpenAllInputHelper2 = helper . node ( "div|class:form-helper" ) ;
519+ var groupFormOpenAllInputHelper2Item = helper . node ( "p:The Open all button will show when there is at least one Bookmark in this Group.|class:link-form-input-icon-helper form-helper-item" ) ;
520+
507521groupFormPositionInputWrap . appendChild ( groupFormPositionLabel ) ;
508522groupFormPositionInputWrap . appendChild ( groupFormPositionSelect ) ;
509523groupFormRandomNameButtonWrap . appendChild ( groupFormRandomNameButton ) ;
510- groupFormNameInputWrap . appendChild ( groupFormInputLabel ) ;
524+ groupFormNameInputWrap . appendChild ( groupFormInputNameLabel ) ;
511525groupFormNameInputWrap . appendChild ( groupFormInputName ) ;
526+ groupFormInputOpenallLabel . appendChild ( groupFormInputOpenallLabelIcon ) ;
527+ groupFormInputOpenallLabel . appendChild ( groupFormInputOpenallLabelText ) ;
528+ groupFormOpenAllInputHelper1 . appendChild ( groupFormOpenAllInputHelper1Item ) ;
529+ groupFormOpenAllInputHelper2 . appendChild ( groupFormOpenAllInputHelper2Item ) ;
530+ groupFormOpenAllInputWrap . appendChild ( groupFormOpenAllInput ) ;
531+ groupFormOpenAllInputWrap . appendChild ( groupFormInputOpenallLabel ) ;
532+ groupFormOpenAllInputWrap . appendChild ( groupFormOpenAllInputHelper1 ) ;
533+ groupFormOpenAllInputWrap . appendChild ( groupFormOpenAllInputHelper2 ) ;
534+
512535fieldset . appendChild ( groupFormNameInputWrap ) ;
513536fieldset . appendChild ( groupFormRandomNameButtonWrap ) ;
537+ fieldset . appendChild ( helper . node ( "hr" ) ) ;
514538fieldset . appendChild ( groupFormPositionInputWrap ) ;
539+ fieldset . appendChild ( helper . node ( "hr" ) ) ;
540+ fieldset . appendChild ( groupFormOpenAllInputWrap ) ;
515541form . appendChild ( fieldset ) ;
516542
517543var makeGroupOptions = function ( ) {
@@ -527,6 +553,7 @@ var link = (function(){
527553var populateForm = function ( ) {
528554groupFormPositionSelect . selectedIndex = stagedGroup . position . origin ;
529555groupFormInputName . value = stagedGroup . group . name ;
556+ groupFormOpenAllInput . checked = stagedGroup . group . openAll ;
530557} ;
531558
532559var setLastPosition = function ( ) {
@@ -561,6 +588,9 @@ var link = (function(){
561588stagedGroup . group . name = randomName ;
562589groupFormInputName . value = randomName ;
563590} , false ) ;
591+ groupFormOpenAllInput . addEventListener ( "change" , function ( event ) {
592+ stagedGroup . group . openAll = this . checked ;
593+ } , false ) ;
564594
565595return form ;
566596} ,
0 commit comments