appscms-tools-theme 5.1.3 → 5.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_layouts/aboutUs.html +6 -1
- data/_layouts/allAuthors.html +6 -1
- data/_layouts/appscms-about.html +6 -1
- data/_layouts/appscms-author.html +4 -1
- data/_layouts/appscms-authors.html +6 -1
- data/_layouts/appscms-blog.html +6 -1
- data/_layouts/appscms-contact.html +6 -1
- data/_layouts/appscms-disclaimer.html +6 -1
- data/_layouts/appscms-download.html +4 -1
- data/_layouts/appscms-feature-result.html +6 -1
- data/_layouts/appscms-feature.html +6 -1
- data/_layouts/appscms-help.html +8 -2
- data/_layouts/appscms-home.html +9 -8
- data/_layouts/appscms-post.html +4 -1
- data/_layouts/appscms-privacy-policy.html +6 -1
- data/_layouts/appscms-terms-and-conditions.html +4 -1
- data/_layouts/author.html +4 -1
- data/_layouts/blog-1.html +6 -1
- data/_layouts/blog.html +6 -1
- data/_layouts/contactUs.html +4 -1
- data/_layouts/contenttool-feature.html +6 -1
- data/_layouts/contenttool-home.html +6 -1
- data/_layouts/devtool-blog.html +6 -1
- data/_layouts/devtool-feature.html +56 -52
- data/_layouts/devtool-home.html +54 -50
- data/_layouts/disclaimer.html +126 -121
- data/_layouts/download.html +4 -1
- data/_layouts/feature-1.html +367 -243
- data/_layouts/feature-download.html +4 -1
- data/_layouts/feature.html +447 -300
- data/_layouts/featureResultPage.html +6 -1
- data/_layouts/fileInfo.html +43 -37
- data/_layouts/filecomparison.html +122 -78
- data/_layouts/help.html +22 -21
- data/_layouts/home-1.html +212 -178
- data/_layouts/home.html +6 -1
- data/_layouts/homeResultPage.html +38 -20
- data/_layouts/post.html +4 -1
- data/_layouts/privacyPolicy.html +783 -635
- data/_layouts/profile.html +6 -1
- data/_layouts/termAndCondition.html +4 -1
- data/assets/.DS_Store +0 -0
- data/assets/js/googledrive.js +6 -4
- data/assets/js/multiselect.js +141 -114
- metadata +2 -2
data/_layouts/profile.html
CHANGED
@@ -5,7 +5,12 @@ assign boxColor = site.data[page.folderName][page.lang][page.fileName].color -%}
|
|
5
5
|
<!DOCTYPE html>
|
6
6
|
<html lang="{{ page.lang }}">
|
7
7
|
{%- include appscms/head/head.html -%}
|
8
|
-
<body
|
8
|
+
<body
|
9
|
+
data-developer-key="{{ site.developerKey }}"
|
10
|
+
data-client-id="{{ site.clientId }}"
|
11
|
+
data-app-id="{{ site.appId }}"
|
12
|
+
data-dropbox-apikey="{{ site.dropboxapikey }}"
|
13
|
+
>
|
9
14
|
{%- include appscms/navbars/navbar.html -%} {%- include
|
10
15
|
appscms/navbars/toolbar.html -%} {%- include bookmark.html -%}
|
11
16
|
<style>
|
@@ -6,7 +6,10 @@
|
|
6
6
|
<html lang="{{termsData.htmlLangAtt}}">
|
7
7
|
{% include head/index.html %}
|
8
8
|
|
9
|
-
<body
|
9
|
+
<body data-developer-key="{{ site.developerKey }}"
|
10
|
+
data-client-id="{{ site.clientId }}"
|
11
|
+
data-app-id="{{ site.appId }}"
|
12
|
+
data-dropbox-apikey="{{ site.dropboxapikey }}">
|
10
13
|
{% include header/index.html %}
|
11
14
|
{%- include dropdown/langdropdown.html -%}
|
12
15
|
<div class="container py-4">
|
data/assets/.DS_Store
CHANGED
Binary file
|
data/assets/js/googledrive.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
---
|
2
2
|
---
|
3
|
+
const bodyData = document.body.dataset;
|
3
4
|
|
4
5
|
const addScripts=()=>{
|
5
6
|
const scripts=document.getElementsByTagName('script')
|
@@ -8,7 +9,7 @@ const addScripts=()=>{
|
|
8
9
|
const dropboxscript = document.createElement('script')
|
9
10
|
dropboxscript.src = 'https://www.dropbox.com/static/api/2/dropins.js'
|
10
11
|
dropboxscript.crossOrigin = 'anonymous'
|
11
|
-
dropboxscript.dataset.appKey =
|
12
|
+
dropboxscript.dataset.appKey = document.body.dataset.dropboxApikey
|
12
13
|
dropboxscript.id='dropboxjs'
|
13
14
|
document.head.append(dropboxscript)
|
14
15
|
}
|
@@ -20,9 +21,10 @@ const addScripts=()=>{
|
|
20
21
|
document.head.append(googlescript)
|
21
22
|
}
|
22
23
|
}
|
23
|
-
|
24
|
-
const
|
25
|
-
const
|
24
|
+
|
25
|
+
const developerKey = bodyData.developerKey;
|
26
|
+
const clientId = bodyData.clientId;
|
27
|
+
const appId = bodyData.appId;
|
26
28
|
const scope = [
|
27
29
|
'https://www.googleapis.com/auth/drive.file',
|
28
30
|
'https://www.googleapis.com/auth/drive.appdata',
|
data/assets/js/multiselect.js
CHANGED
@@ -1,38 +1,50 @@
|
|
1
1
|
---
|
2
2
|
---
|
3
3
|
|
4
|
-
const addScripts=()=>{
|
5
|
-
const scripts=document.getElementsByTagName('script')
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
4
|
+
const addScripts = () => {
|
5
|
+
const scripts = document.getElementsByTagName('script');
|
6
|
+
|
7
|
+
const dropboxScriptExists = Array.from(scripts).some(
|
8
|
+
(item) => item.src === 'https://www.dropbox.com/static/api/2/dropins.js'
|
9
|
+
);
|
10
|
+
if (!dropboxScriptExists) {
|
11
|
+
const dropboxscript = document.createElement('script');
|
12
|
+
dropboxscript.src = 'https://www.dropbox.com/static/api/2/dropins.js';
|
13
|
+
dropboxscript.dataset.appKey = document.body.dataset.dropboxApikey;
|
14
|
+
dropboxscript.id = 'dropboxjs';
|
15
|
+
dropboxscript.crossOrigin = 'anonymous';
|
16
|
+
document.head.append(dropboxscript);
|
14
17
|
}
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
|
19
|
+
const googleScriptExists = Array.from(scripts).some(
|
20
|
+
(item) => item.src === 'https://apis.google.com/js/api.js'
|
21
|
+
);
|
22
|
+
if (!googleScriptExists) {
|
23
|
+
const googlescript = document.createElement('script');
|
24
|
+
googlescript.src = 'https://apis.google.com/js/api.js';
|
25
|
+
googlescript.crossOrigin = 'anonymous';
|
26
|
+
document.head.append(googlescript);
|
21
27
|
}
|
22
|
-
}
|
23
|
-
|
24
|
-
const
|
25
|
-
const
|
28
|
+
};
|
29
|
+
|
30
|
+
const bodyData = document.body.dataset;
|
31
|
+
const developerKey = bodyData.developerKey;
|
32
|
+
const clientId = bodyData.clientId;
|
33
|
+
const appId = bodyData.appId;
|
34
|
+
|
26
35
|
const scope = [
|
27
36
|
'https://www.googleapis.com/auth/drive.file',
|
28
37
|
'https://www.googleapis.com/auth/drive.appdata',
|
29
|
-
]
|
30
|
-
|
31
|
-
let
|
38
|
+
];
|
39
|
+
|
40
|
+
let pickerApiLoaded = false;
|
41
|
+
let oauthToken;
|
42
|
+
|
32
43
|
const loadPicker = () => {
|
33
|
-
gapi.load('auth', { callback: onAuthApiLoad })
|
34
|
-
gapi.load('picker', { callback: onPickerApiLoad })
|
35
|
-
}
|
44
|
+
gapi.load('auth', { callback: onAuthApiLoad });
|
45
|
+
gapi.load('picker', { callback: onPickerApiLoad });
|
46
|
+
};
|
47
|
+
|
36
48
|
const onAuthApiLoad = () => {
|
37
49
|
window.gapi.auth.authorize(
|
38
50
|
{
|
@@ -41,22 +53,25 @@ const onAuthApiLoad = () => {
|
|
41
53
|
immediate: false,
|
42
54
|
},
|
43
55
|
handleAuthResult
|
44
|
-
)
|
45
|
-
}
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
56
|
+
);
|
57
|
+
};
|
58
|
+
|
59
|
+
const onPickerApiLoad = () => {
|
60
|
+
pickerApiLoaded = true;
|
61
|
+
createPicker();
|
62
|
+
};
|
63
|
+
|
50
64
|
const handleAuthResult = (authResult) => {
|
51
65
|
if (authResult && !authResult.error) {
|
52
|
-
oauthToken = authResult.access_token
|
53
|
-
createPicker()
|
66
|
+
oauthToken = authResult.access_token;
|
67
|
+
createPicker();
|
54
68
|
}
|
55
|
-
}
|
69
|
+
};
|
70
|
+
|
56
71
|
const createPicker = () => {
|
57
72
|
if (pickerApiLoaded && oauthToken) {
|
58
|
-
const view = new google.picker.View(google.picker.ViewId.DOCS)
|
59
|
-
view.setMimeTypes(mimeTypes)
|
73
|
+
const view = new google.picker.View(google.picker.ViewId.DOCS);
|
74
|
+
view.setMimeTypes(mimeTypes);
|
60
75
|
const picker = new google.picker.PickerBuilder()
|
61
76
|
.enableFeature(google.picker.Feature.NAV_HIDDEN)
|
62
77
|
.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
|
@@ -66,93 +81,105 @@ const createPicker = () => {
|
|
66
81
|
.addView(new google.picker.DocsUploadView())
|
67
82
|
.setDeveloperKey(developerKey)
|
68
83
|
.setCallback(pickerCallback)
|
69
|
-
.build()
|
70
|
-
picker.setVisible(true)
|
84
|
+
.build();
|
85
|
+
picker.setVisible(true);
|
71
86
|
}
|
72
|
-
}
|
87
|
+
};
|
88
|
+
|
73
89
|
const pickerCallback = async (data) => {
|
74
|
-
if (data.action
|
75
|
-
showLoader()
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
90
|
+
if (data.action === google.picker.Action.PICKED) {
|
91
|
+
showLoader();
|
92
|
+
|
93
|
+
const filesArray = await Promise.all(
|
94
|
+
data.docs.map(async (doc) => {
|
95
|
+
const res = await fetch(
|
96
|
+
`https://www.googleapis.com/drive/v3/files/${doc.id}?alt=media`,
|
97
|
+
{
|
98
|
+
headers: {
|
99
|
+
Authorization: `Bearer ${oauthToken}`,
|
100
|
+
},
|
101
|
+
}
|
102
|
+
).then((res) => res.blob());
|
103
|
+
|
104
|
+
const metadata = { type: doc.mimeType };
|
105
|
+
return new File([res], doc.name, metadata);
|
106
|
+
})
|
107
|
+
);
|
108
|
+
|
109
|
+
closeLoader();
|
110
|
+
getFile(filesArray);
|
89
111
|
}
|
90
|
-
}
|
112
|
+
};
|
113
|
+
|
91
114
|
function chooseFromDropbox() {
|
92
115
|
Dropbox.choose({
|
93
116
|
success: async (files) => {
|
94
|
-
if (files.length
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
type: response.type
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
getDropBoxFile(dropboxArray)
|
117
|
+
if (files.length <= 0) return;
|
118
|
+
|
119
|
+
showLoader();
|
120
|
+
|
121
|
+
const dropboxArray = await Promise.all(
|
122
|
+
files.map(async (file) => {
|
123
|
+
const url = new URL(file.link);
|
124
|
+
const response = await fetch(url).then((res) => res.blob());
|
125
|
+
const metadata = { type: response.type };
|
126
|
+
return new File([response], file.name, metadata);
|
127
|
+
})
|
128
|
+
);
|
129
|
+
|
130
|
+
closeLoader();
|
131
|
+
getDropBoxFile(dropboxArray);
|
110
132
|
},
|
111
133
|
cancel: function () {},
|
112
|
-
linkType: 'direct',
|
113
|
-
multiselect: true,
|
114
|
-
extensions: [...filemimes],
|
115
|
-
folderselect: false,
|
116
|
-
})
|
134
|
+
linkType: 'direct',
|
135
|
+
multiselect: true,
|
136
|
+
extensions: [...filemimes],
|
137
|
+
folderselect: false,
|
138
|
+
});
|
117
139
|
}
|
118
140
|
|
119
|
-
const fileupload=(file)=>{
|
120
|
-
|
121
|
-
|
122
|
-
|
141
|
+
const fileupload = (file) => {
|
142
|
+
gapi.load('auth', { callback: onAuthLoad });
|
143
|
+
};
|
144
|
+
|
145
|
+
const onAuthLoad = () => {
|
123
146
|
window.gapi.auth.authorize(
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
const handleAuth=(authResult)=> {
|
132
|
-
if (authResult && !authResult.error) {
|
133
|
-
showuploadloading()
|
134
|
-
var formData = new FormData();
|
135
|
-
const fileToUpload = file
|
136
|
-
var metadata = {
|
137
|
-
name: fileToUpload.name,
|
138
|
-
mimeType: fileToUpload.type
|
147
|
+
{
|
148
|
+
client_id: clientId,
|
149
|
+
scope: scope,
|
150
|
+
immediate: false,
|
151
|
+
},
|
152
|
+
handleAuth
|
153
|
+
);
|
139
154
|
};
|
140
|
-
formData.append( "metadata", new Blob( [JSON.stringify( metadata )], {type: "application/json"} ));
|
141
|
-
formData.append( "file", fileToUpload );
|
142
|
-
fetch( "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart", {
|
143
|
-
method: "POST",
|
144
|
-
headers: new Headers({ "Authorization": "Bearer " + gapi.auth.getToken().access_token }),
|
145
|
-
body: formData
|
146
|
-
}).then( function( response ){
|
147
|
-
stopuploadloading()
|
148
|
-
return response.json();
|
149
|
-
|
150
|
-
}).then( function( value ){
|
151
|
-
stopuploadloading()
|
152
|
-
showmessage()
|
153
|
-
});
|
154
|
-
}
|
155
|
-
}
|
156
155
|
|
157
|
-
|
158
|
-
|
156
|
+
const handleAuth = (authResult) => {
|
157
|
+
if (authResult && !authResult.error) {
|
158
|
+
showuploadloading();
|
159
|
+
|
160
|
+
const formData = new FormData();
|
161
|
+
const metadata = {
|
162
|
+
name: file.name,
|
163
|
+
mimeType: file.type,
|
164
|
+
};
|
165
|
+
|
166
|
+
formData.append('metadata', new Blob([JSON.stringify(metadata)], { type: 'application/json' }));
|
167
|
+
formData.append('file', file);
|
168
|
+
|
169
|
+
fetch('https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart', {
|
170
|
+
method: 'POST',
|
171
|
+
headers: new Headers({
|
172
|
+
Authorization: 'Bearer ' + gapi.auth.getToken().access_token,
|
173
|
+
}),
|
174
|
+
body: formData,
|
175
|
+
})
|
176
|
+
.then((response) => {
|
177
|
+
stopuploadloading();
|
178
|
+
return response.json();
|
179
|
+
})
|
180
|
+
.then(() => {
|
181
|
+
stopuploadloading();
|
182
|
+
showmessage();
|
183
|
+
});
|
184
|
+
}
|
185
|
+
};
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appscms-tools-theme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.1.
|
4
|
+
version: 5.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vivek-appscms
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|