Skip to content

Commit dba0966

Browse files
committed
Improve: mark unavailable (non-working) modules as such (i.e., 101.ru)
Улучшено: обозначены недостуные (нерабочие) модули (например, 101.ru)
1 parent 7ae70c7 commit dba0966

File tree

7 files changed

+47
-7
lines changed

7 files changed

+47
-7
lines changed

_locales/en_US/messages.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,10 @@
826826
"message": "Enabled"
827827
}
828828
,
829+
"unavailable": {
830+
"message": "(Unavailable)"
831+
}
832+
,
829833
"connected": {
830834
"message": "Connected"
831835
}

_locales/ru/messages.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,10 @@
826826
"message": "Подключён"
827827
}
828828
,
829+
"unavailable": {
830+
"message": "(Недоступен)"
831+
}
832+
,
829833
"connected": {
830834
"message": "Подсоединён"
831835
}

global/js/global.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ var Global = {
7373
// Embedded modules (replicates manifest's "content_scripts")
7474
, objModules : {
7575
ru_101 : {
76-
objRegex : /^(http:\/\/|https:\/\/)101.ru\/.*/
76+
boolIsAvailable : false
77+
, objRegex : /^(http:\/\/|https:\/\/)101.ru\/.*/
7778
, strDomain : 'https://101.ru/'
7879
, arrHosts : [
7980
'101.ru'
@@ -1719,10 +1720,11 @@ var Global = {
17191720

17201721
( boolExternal ? StorageLocal : StorageSync ).get( strObjSettings, function( objReturn ) {
17211722
var objModuleSettings = objReturn[ strObjSettings ];
1723+
var boolIsAvailable = objModuleSettings.boolIsAvailable;
17221724

1723-
if ( typeof objModuleSettings === 'object'
1724-
&& objModuleSettings.boolIsEnabled
1725-
) {
1725+
boolIsAvailable = typeof boolIsAvailable !== 'boolean' || boolIsAvailable;
1726+
1727+
if ( typeof objModuleSettings === 'object' && boolIsAvailable && objModuleSettings.boolIsEnabled ) {
17261728
strLog = 'isModuleEnabled, ' + strCallerLog;
17271729
Log.add( strLog + strLogSuccess, intTabId );
17281730

options/css/options.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@
341341
}
342342
.modulesListItem
343343
{
344+
position: relative;
344345
padding: .75rem .75rem .75rem 7.75rem;
345346
min-height: 5rem;
346347
border-bottom: .1rem dashed #f0f0f0;
@@ -358,6 +359,18 @@
358359
{
359360
background-color: #fafafa;
360361
}
362+
.unavailable.modulesListItem::after
363+
{
364+
content: '';
365+
position: absolute;
366+
z-index: 1;
367+
top: 0;
368+
right: 0;
369+
bottom: 0;
370+
left: 0;
371+
background-color: #ccc;
372+
opacity: .4;
373+
}
361374
.modulesListItemImg
362375
{
363376
position: absolute;

options/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ <h1 id="extensionName" i18n-content="extensionName"></h1>
5656
class="menuItemWrap"
5757
id="menuItemWrap_{{objModule.id}}"
5858
ng-repeat="objModuleTmp in arrModulesNames"
59-
ng-if="( objModule = objModules[ objModuleTmp[ 'strModuleId' ] ] ) && objModule.type === 'built-in'"
59+
ng-if="( objModule = objModules[ objModuleTmp[ 'strModuleId' ] ] ) && objModule.type === 'built-in' && objModule.boolIsAvailable"
6060
module-menu-item-directive
6161
>
6262
<a

options/js/app.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ function getModules( Storage, $rootScope, funcResolve, funcReject ) {
105105
for ( var strKey in objStorage ) {
106106
if ( objStorage.hasOwnProperty( strKey ) && strKey.indexOf( strConstSettingsPrefix ) === 0 ) {
107107
var strModule = strKey.replace( strConstSettingsPrefix, '' );
108+
var objGlobalModule = Global.objModules[ strModule ];
108109
var objModule = objStorage[ strKey ];
109110

110111
objModule.id = strModule;
@@ -114,7 +115,7 @@ function getModules( Storage, $rootScope, funcResolve, funcReject ) {
114115
*/
115116
if ( Storage === StorageSync ) {
116117
// Check if built-in module is available
117-
if ( ! Global.objModules[ strModule ] && strModule !== strConstGeneralSettingsSuffix ) {
118+
if ( ! objGlobalModule && strModule !== strConstGeneralSettingsSuffix ) {
118119
continue;
119120
}
120121

@@ -124,6 +125,12 @@ function getModules( Storage, $rootScope, funcResolve, funcReject ) {
124125
objModule.caption = chrome.i18n.getMessage( strModuleVar );
125126
objModule.captionLong = chrome.i18n.getMessage( strModuleVar + '_long' );
126127

128+
if ( objGlobalModule ) {
129+
var boolIsAvailable = objGlobalModule.boolIsAvailable;
130+
131+
objModule.boolIsAvailable = typeof boolIsAvailable !== 'boolean' || boolIsAvailable;
132+
}
133+
127134
if ( strModule !== strConstGeneralSettingsSuffix ) {
128135
arrModulesNames.push( {
129136
strModuleId : strModule

options/partials/settings-modules-list.html

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ <h1 id="modulesListPageHeading" class="pageHeading">
4646
<p
4747
ng-repeat="objModuleTmp in arrModulesNames"
4848
ng-if="( objModule = objModules[ objModuleTmp[ 'strModuleId' ] ] ) && ( strModuleId = objModule.id ) !== '' && ( objGlobalModule = objGlobalModules[ strModuleId ] ) != undefined && strModuleId !== 'general'"
49+
ng-class="{ unavailable: ( boolIsAvailable = objGlobalModule.boolIsAvailable ) != undefined && ! boolIsAvailable }"
4950
class="modulesListItem"
5051
id="modulesListItem_{{strModuleId}}"
5152
localize
@@ -65,7 +66,16 @@ <h1 id="modulesListPageHeading" class="pageHeading">
6566
<a
6667
ng-href="#/settings/modules/built-in/{{strModuleId}}"
6768
class="modulesListItemCaption"
68-
>{{strCaption = objModule.caption}}</a>
69+
>
70+
<span
71+
ng-if="boolIsAvailable != undefined && ! boolIsAvailable"
72+
class="modulesListItemCheckboxCopy"
73+
i18n-content="unavailable"
74+
>
75+
{{strCaption = objModule.caption}}
76+
</span>
77+
{{strCaption = objModule.caption}}
78+
</a>
6979
<br>
7080
<span
7181
class="modulesListItemHosts i18nNoInner i18nTitle"

0 commit comments

Comments
 (0)