appscms-tools-theme 1.3.0 → 1.3.2
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/LICENSE.txt +21 -21
- data/README.md +50 -50
- data/_data/about/en/about.json +16 -16
- data/_data/blog/alertbar.yml +3 -3
- data/_data/blog/authors.yml +11 -11
- data/_data/blog/blog.yml +3 -3
- data/_data/blog/nav.json +13 -13
- data/_data/blog/share.yml +28 -28
- data/_data/contact/en/contact.json +38 -38
- data/_data/disclaimer/en/disclaimer.json +37 -37
- data/_data/download/en/download.json +35 -35
- data/_data/feature/en/compress-pdf.json +191 -191
- data/_data/feature/en/split-pdf.json +115 -115
- data/_data/feature/hi/compress-pdf.json +81 -81
- data/_data/fileinfo/en/fileinfo.json +14 -14
- data/_data/files/.gitignore +4 -4
- data/_data/files/en/3gp.json +144 -144
- data/_data/files/en/acc.json +25 -25
- data/_data/files/en/aff.json +65 -65
- data/_data/files/en/cr2.json +169 -169
- data/_data/files/en/dvd.json +25 -25
- data/_data/files/en/mov.json +146 -146
- data/_data/files/en/ogg.json +163 -163
- data/_data/files/en/vmv.json +47 -47
- data/_data/footer/en/data.json +72 -72
- data/_data/footer/hi/data.json +68 -68
- data/_data/footer/networksites.json +15 -15
- data/_data/header/en/data.json +144 -144
- data/_data/header/hi/data.json +144 -144
- data/_data/home/en/en.json +270 -270
- data/_data/home/hi/hi.json +86 -86
- data/_data/languagesupport/compress-pdf-langs.json +11 -11
- data/_data/languagesupport/index-langs.json +13 -13
- data/_data/privacy/en/privacyPolicy.json +265 -265
- data/_data/termAndCondition/en/termAndCondition.json +358 -358
- data/_includes/Rating/rating.html +91 -91
- data/_includes/Rating/structureddata.html +53 -53
- data/_includes/Usp/usp.html +84 -84
- data/_includes/adsense/adsense.html +7 -7
- data/_includes/author_bio.html +15 -15
- data/_includes/authors/authors.html +27 -27
- data/_includes/cssfile/links.html +13 -13
- data/_includes/custom-head.html +41 -41
- data/_includes/disqus_comments.html +10 -10
- data/_includes/dropdown/langdropdown.html +22 -22
- data/_includes/feature.html +35 -35
- data/_includes/fileformat/comparisonfiles.html +145 -145
- data/_includes/fileformat/fileformatdetail.html +99 -99
- data/_includes/fileformat/fileinfoformat.html +90 -90
- data/_includes/footer/index.html +100 -100
- data/_includes/google-analytics.html +22 -22
- data/_includes/head/index.html +159 -159
- data/_includes/header/blogHeader.html +28 -28
- data/_includes/header/index.html +92 -92
- data/_includes/nofiletransfer/nofiletransfer.html +38 -38
- data/_includes/paginationBlogPage.html +34 -34
- data/_includes/paginationPostPage.html +14 -14
- data/_includes/postauthorbio.html +17 -17
- data/_includes/postbox.html +29 -29
- data/_includes/script.html +15 -15
- data/_includes/section/alertbar.html +11 -11
- data/_includes/section/count.html +23 -23
- data/_includes/section/recent_posts.html +42 -43
- data/_includes/section/related_categories_post.html +158 -119
- data/_includes/share/socialshare.html +50 -50
- data/_layouts/aboutUs.html +22 -22
- data/_layouts/blog.html +66 -66
- data/_layouts/categories.html +25 -25
- data/_layouts/contactUs.html +22 -22
- data/_layouts/default.html +1 -1
- data/_layouts/disclaimer.html +35 -35
- data/_layouts/download.html +243 -243
- data/_layouts/feature.html +151 -151
- data/_layouts/fileInfo.html +37 -37
- data/_layouts/help.html +22 -22
- data/_layouts/home.html +152 -152
- data/_layouts/page.html +5 -5
- data/_layouts/post.html +127 -127
- data/_layouts/privacyPolicy.html +400 -400
- data/_layouts/termAndCondition.html +401 -401
- data/assets/cross.svg +4 -4
- data/assets/css/blog.css +491 -491
- data/assets/css/tools.css +1805 -1805
- data/assets/facebook.svg +4 -4
- data/assets/instagram.svg +4 -4
- data/assets/js/TopScroll.js +8 -8
- data/assets/js/googledrive.js +153 -153
- data/assets/js/manifest.json +16 -16
- data/assets/js/multiselect.js +155 -155
- data/assets/linkdin.svg +4 -4
- data/assets/pdf.svg +20 -20
- data/assets/secure.svg +43 -43
- data/assets/star.svg +4 -4
- data/assets/twitter.svg +4 -4
- data/assets/youtube.svg +4 -4
- metadata +7 -8
- data/_includes/section/related_tag_post.html +0 -59
data/assets/facebook.svg
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<svg viewBox="0 0 24 24" fill="#000000" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path
|
|
3
|
-
d="M18 4.63h-2.397c-1.69 0-2.182.65-2.182 1.897v2.52h4.395l-.584 3.901H13.42V23H8.81V12.948H5V9.047h3.81V6.175C8.81 2.897 11.117 1 14.559 1c1.444 0 2.612.054 3.442.135v3.496z">
|
|
4
|
-
</path>
|
|
1
|
+
<svg viewBox="0 0 24 24" fill="#000000" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
d="M18 4.63h-2.397c-1.69 0-2.182.65-2.182 1.897v2.52h4.395l-.584 3.901H13.42V23H8.81V12.948H5V9.047h3.81V6.175C8.81 2.897 11.117 1 14.559 1c1.444 0 2.612.054 3.442.135v3.496z">
|
|
4
|
+
</path>
|
|
5
5
|
</svg>
|
data/assets/instagram.svg
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<svg viewBox="0 0 24 24" fill="#000000" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path
|
|
3
|
-
d="M12 2.982c2.937 0 3.285.011 4.445.064 1.072.05 1.655.228 2.043.379.513.2.88.438 1.264.823.385.385.624.751.823 1.265.15.387.33.97.379 2.042.053 1.16.064 1.508.064 4.445 0 2.937-.011 3.285-.064 4.445-.05 1.072-.228 1.655-.379 2.043-.2.513-.438.88-.823 1.264a3.408 3.408 0 01-1.264.823c-.388.15-.97.33-2.043.379-1.16.053-1.508.064-4.445.064-2.937 0-3.285-.011-4.445-.064-1.072-.049-1.655-.228-2.042-.379-.514-.2-.88-.438-1.265-.823a3.408 3.408 0 01-.823-1.264c-.15-.388-.33-.97-.379-2.043-.053-1.16-.064-1.508-.064-4.445 0-2.937.011-3.285.064-4.445.049-1.072.228-1.655.379-2.042.2-.514.438-.88.823-1.265a3.408 3.408 0 011.265-.823c.387-.15.97-.33 2.042-.379 1.16-.053 1.508-.064 4.445-.064zM12 1c-2.987 0-3.362.013-4.535.066-1.171.054-1.97.24-2.67.512a5.392 5.392 0 00-1.949 1.268 5.392 5.392 0 00-1.269 1.949c-.271.7-.457 1.499-.51 2.67C1.012 8.638 1 9.013 1 12c0 2.988.013 3.362.066 4.535.054 1.171.24 1.97.511 2.67a5.392 5.392 0 001.27 1.949 5.392 5.392 0 001.948 1.268c.7.273 1.499.458 2.67.512C8.638 22.987 9.013 23 12 23s3.362-.013 4.535-.066c1.171-.054 1.97-.24 2.67-.512a5.391 5.391 0 001.949-1.268 5.391 5.391 0 001.268-1.948c.272-.7.458-1.5.512-2.67.053-1.174.066-1.549.066-4.536 0-2.987-.013-3.362-.066-4.535-.054-1.171-.24-1.97-.512-2.67a5.39 5.39 0 00-1.268-1.949 5.391 5.391 0 00-1.949-1.268c-.7-.272-1.499-.458-2.67-.512C15.362 1.013 14.987 1 12 1zm0 5.351a5.649 5.649 0 100 11.298A5.649 5.649 0 0012 6.35zm0 9.316a3.667 3.667 0 110-7.334 3.667 3.667 0 010 7.334zm7.192-9.539a1.32 1.32 0 11-2.64 0 1.32 1.32 0 012.64 0z">
|
|
4
|
-
</path>
|
|
1
|
+
<svg viewBox="0 0 24 24" fill="#000000" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
d="M12 2.982c2.937 0 3.285.011 4.445.064 1.072.05 1.655.228 2.043.379.513.2.88.438 1.264.823.385.385.624.751.823 1.265.15.387.33.97.379 2.042.053 1.16.064 1.508.064 4.445 0 2.937-.011 3.285-.064 4.445-.05 1.072-.228 1.655-.379 2.043-.2.513-.438.88-.823 1.264a3.408 3.408 0 01-1.264.823c-.388.15-.97.33-2.043.379-1.16.053-1.508.064-4.445.064-2.937 0-3.285-.011-4.445-.064-1.072-.049-1.655-.228-2.042-.379-.514-.2-.88-.438-1.265-.823a3.408 3.408 0 01-.823-1.264c-.15-.388-.33-.97-.379-2.043-.053-1.16-.064-1.508-.064-4.445 0-2.937.011-3.285.064-4.445.049-1.072.228-1.655.379-2.042.2-.514.438-.88.823-1.265a3.408 3.408 0 011.265-.823c.387-.15.97-.33 2.042-.379 1.16-.053 1.508-.064 4.445-.064zM12 1c-2.987 0-3.362.013-4.535.066-1.171.054-1.97.24-2.67.512a5.392 5.392 0 00-1.949 1.268 5.392 5.392 0 00-1.269 1.949c-.271.7-.457 1.499-.51 2.67C1.012 8.638 1 9.013 1 12c0 2.988.013 3.362.066 4.535.054 1.171.24 1.97.511 2.67a5.392 5.392 0 001.27 1.949 5.392 5.392 0 001.948 1.268c.7.273 1.499.458 2.67.512C8.638 22.987 9.013 23 12 23s3.362-.013 4.535-.066c1.171-.054 1.97-.24 2.67-.512a5.391 5.391 0 001.949-1.268 5.391 5.391 0 001.268-1.948c.272-.7.458-1.5.512-2.67.053-1.174.066-1.549.066-4.536 0-2.987-.013-3.362-.066-4.535-.054-1.171-.24-1.97-.512-2.67a5.39 5.39 0 00-1.268-1.949 5.391 5.391 0 00-1.949-1.268c-.7-.272-1.499-.458-2.67-.512C15.362 1.013 14.987 1 12 1zm0 5.351a5.649 5.649 0 100 11.298A5.649 5.649 0 0012 6.35zm0 9.316a3.667 3.667 0 110-7.334 3.667 3.667 0 010 7.334zm7.192-9.539a1.32 1.32 0 11-2.64 0 1.32 1.32 0 012.64 0z">
|
|
4
|
+
</path>
|
|
5
5
|
</svg>
|
data/assets/js/TopScroll.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const alertbar = document.querySelector('.alertbar')
|
|
2
|
-
window.addEventListener('scroll', () => {
|
|
3
|
-
if (pageYOffset > 200) {
|
|
4
|
-
alertbar.style.display = 'block'
|
|
5
|
-
} else {
|
|
6
|
-
alertbar.style.display = 'none'
|
|
7
|
-
}
|
|
8
|
-
})
|
|
1
|
+
const alertbar = document.querySelector('.alertbar')
|
|
2
|
+
window.addEventListener('scroll', () => {
|
|
3
|
+
if (pageYOffset > 200) {
|
|
4
|
+
alertbar.style.display = 'block'
|
|
5
|
+
} else {
|
|
6
|
+
alertbar.style.display = 'none'
|
|
7
|
+
}
|
|
8
|
+
})
|
data/assets/js/googledrive.js
CHANGED
|
@@ -1,154 +1,154 @@
|
|
|
1
|
-
---
|
|
2
|
-
---
|
|
3
|
-
|
|
4
|
-
const addScripts=()=>{
|
|
5
|
-
const scripts=document.getElementsByTagName('script')
|
|
6
|
-
const check= Array.from(scripts).find(item=>item.src==='https://www.dropbox.com/static/api/2/dropins.js')
|
|
7
|
-
if(!check){
|
|
8
|
-
const dropboxscript = document.createElement('script')
|
|
9
|
-
dropboxscript.src = 'https://www.dropbox.com/static/api/2/dropins.js'
|
|
10
|
-
dropboxscript.dataset.appKey = '{{site.dropboxapikey}}'
|
|
11
|
-
dropboxscript.id='dropboxjs'
|
|
12
|
-
document.head.append(dropboxscript)
|
|
13
|
-
}
|
|
14
|
-
const checkgooglescript= Array.from(scripts).find(item=>item.src==='https://apis.google.com/js/api.js')
|
|
15
|
-
if(!checkgooglescript){
|
|
16
|
-
const googlescript = document.createElement('script')
|
|
17
|
-
googlescript.src = 'https://apis.google.com/js/api.js'
|
|
18
|
-
document.head.append(googlescript)
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
const developerKey = '{{site.developerKey}}'
|
|
22
|
-
const clientId ='{{site.clientId}}'
|
|
23
|
-
const appId = '{{site.appId}}'
|
|
24
|
-
const scope = [
|
|
25
|
-
'https://www.googleapis.com/auth/drive.file',
|
|
26
|
-
'https://www.googleapis.com/auth/drive.appdata',
|
|
27
|
-
]
|
|
28
|
-
let pickerApiLoaded = false
|
|
29
|
-
let oauthToken
|
|
30
|
-
const loadPicker = () => {
|
|
31
|
-
gapi.load('auth', { callback: onAuthApiLoad })
|
|
32
|
-
gapi.load('picker', { callback: onPickerApiLoad })
|
|
33
|
-
}
|
|
34
|
-
const onAuthApiLoad = () => {
|
|
35
|
-
window.gapi.auth.authorize(
|
|
36
|
-
{
|
|
37
|
-
client_id: clientId,
|
|
38
|
-
scope: scope,
|
|
39
|
-
immediate: false,
|
|
40
|
-
},
|
|
41
|
-
handleAuthResult
|
|
42
|
-
)
|
|
43
|
-
}
|
|
44
|
-
let onPickerApiLoad = () => {
|
|
45
|
-
pickerApiLoaded = true
|
|
46
|
-
createPicker()
|
|
47
|
-
}
|
|
48
|
-
const handleAuthResult = (authResult) => {
|
|
49
|
-
if (authResult && !authResult.error) {
|
|
50
|
-
oauthToken = authResult.access_token
|
|
51
|
-
createPicker()
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const createPicker = () => {
|
|
55
|
-
if (pickerApiLoaded && oauthToken) {
|
|
56
|
-
const view = new google.picker.View(google.picker.ViewId.DOCS)
|
|
57
|
-
view.setMimeTypes(mimeTypes)
|
|
58
|
-
const picker = new google.picker.PickerBuilder()
|
|
59
|
-
.enableFeature(google.picker.Feature.NAV_HIDDEN)
|
|
60
|
-
.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
|
|
61
|
-
.setAppId(appId)
|
|
62
|
-
.setOAuthToken(oauthToken)
|
|
63
|
-
.addView(view)
|
|
64
|
-
.addView(new google.picker.DocsUploadView())
|
|
65
|
-
.setDeveloperKey(developerKey)
|
|
66
|
-
.setCallback(pickerCallback)
|
|
67
|
-
.build()
|
|
68
|
-
picker.setVisible(true)
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
const pickerCallback = async (data) => {
|
|
72
|
-
if (data.action == google.picker.Action.PICKED) {
|
|
73
|
-
showLoader()
|
|
74
|
-
const res = await fetch(
|
|
75
|
-
`https://www.googleapis.com/drive/v3/files/${data.docs[0].id}?alt=media`,
|
|
76
|
-
{
|
|
77
|
-
headers: {
|
|
78
|
-
Authorization: `Bearer ${oauthToken}`,
|
|
79
|
-
},
|
|
80
|
-
}
|
|
81
|
-
).then((res) => res.blob())
|
|
82
|
-
let metadata = {
|
|
83
|
-
type: data.docs[0].mimeType,
|
|
84
|
-
}
|
|
85
|
-
let file = new File([res], data.docs[0].name, metadata)
|
|
86
|
-
closeLoader()
|
|
87
|
-
getFile(file)
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
function chooseFromDropbox() {
|
|
91
|
-
Dropbox.choose({
|
|
92
|
-
success: async (files) => {
|
|
93
|
-
if (files.length < 0) {
|
|
94
|
-
return
|
|
95
|
-
}
|
|
96
|
-
var file = files[0]
|
|
97
|
-
const url = new URL(file.link)
|
|
98
|
-
showLoader()
|
|
99
|
-
const response = await fetch(url).then((res) => res.blob())
|
|
100
|
-
let metadata = {
|
|
101
|
-
type: response.type,
|
|
102
|
-
}
|
|
103
|
-
let newFile = new File([response], file.name, metadata)
|
|
104
|
-
closeLoader()
|
|
105
|
-
getDropBoxFile(newFile)
|
|
106
|
-
},
|
|
107
|
-
cancel: function () {},
|
|
108
|
-
linkType: 'direct',
|
|
109
|
-
multiselect: false,
|
|
110
|
-
extensions: [...filemimes],
|
|
111
|
-
folderselect: false,
|
|
112
|
-
})
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
const fileupload=(file)=>{
|
|
116
|
-
gapi.load('auth', {'callback': onAuthLoad});
|
|
117
|
-
}
|
|
118
|
-
const onAuthLoad=()=> {
|
|
119
|
-
window.gapi.auth.authorize(
|
|
120
|
-
{
|
|
121
|
-
'client_id': clientId,
|
|
122
|
-
'scope': scope,
|
|
123
|
-
'immediate': false
|
|
124
|
-
},
|
|
125
|
-
handleAuth);
|
|
126
|
-
}
|
|
127
|
-
const handleAuth=(authResult)=> {
|
|
128
|
-
if (authResult && !authResult.error) {
|
|
129
|
-
showuploadloading()
|
|
130
|
-
var formData = new FormData();
|
|
131
|
-
const fileToUpload = file
|
|
132
|
-
var metadata = {
|
|
133
|
-
name: fileToUpload.name,
|
|
134
|
-
mimeType: fileToUpload.type
|
|
135
|
-
};
|
|
136
|
-
formData.append( "metadata", new Blob( [JSON.stringify( metadata )], {type: "application/json"} ));
|
|
137
|
-
formData.append( "file", fileToUpload );
|
|
138
|
-
fetch( "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart", {
|
|
139
|
-
method: "POST",
|
|
140
|
-
headers: new Headers({ "Authorization": "Bearer " + gapi.auth.getToken().access_token }),
|
|
141
|
-
body: formData
|
|
142
|
-
}).then( function( response ){
|
|
143
|
-
stopuploadloading()
|
|
144
|
-
return response.json();
|
|
145
|
-
|
|
146
|
-
}).then( function( value ){
|
|
147
|
-
stopuploadloading()
|
|
148
|
-
showmessage()
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
|
|
4
|
+
const addScripts=()=>{
|
|
5
|
+
const scripts=document.getElementsByTagName('script')
|
|
6
|
+
const check= Array.from(scripts).find(item=>item.src==='https://www.dropbox.com/static/api/2/dropins.js')
|
|
7
|
+
if(!check){
|
|
8
|
+
const dropboxscript = document.createElement('script')
|
|
9
|
+
dropboxscript.src = 'https://www.dropbox.com/static/api/2/dropins.js'
|
|
10
|
+
dropboxscript.dataset.appKey = '{{site.dropboxapikey}}'
|
|
11
|
+
dropboxscript.id='dropboxjs'
|
|
12
|
+
document.head.append(dropboxscript)
|
|
13
|
+
}
|
|
14
|
+
const checkgooglescript= Array.from(scripts).find(item=>item.src==='https://apis.google.com/js/api.js')
|
|
15
|
+
if(!checkgooglescript){
|
|
16
|
+
const googlescript = document.createElement('script')
|
|
17
|
+
googlescript.src = 'https://apis.google.com/js/api.js'
|
|
18
|
+
document.head.append(googlescript)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const developerKey = '{{site.developerKey}}'
|
|
22
|
+
const clientId ='{{site.clientId}}'
|
|
23
|
+
const appId = '{{site.appId}}'
|
|
24
|
+
const scope = [
|
|
25
|
+
'https://www.googleapis.com/auth/drive.file',
|
|
26
|
+
'https://www.googleapis.com/auth/drive.appdata',
|
|
27
|
+
]
|
|
28
|
+
let pickerApiLoaded = false
|
|
29
|
+
let oauthToken
|
|
30
|
+
const loadPicker = () => {
|
|
31
|
+
gapi.load('auth', { callback: onAuthApiLoad })
|
|
32
|
+
gapi.load('picker', { callback: onPickerApiLoad })
|
|
33
|
+
}
|
|
34
|
+
const onAuthApiLoad = () => {
|
|
35
|
+
window.gapi.auth.authorize(
|
|
36
|
+
{
|
|
37
|
+
client_id: clientId,
|
|
38
|
+
scope: scope,
|
|
39
|
+
immediate: false,
|
|
40
|
+
},
|
|
41
|
+
handleAuthResult
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
let onPickerApiLoad = () => {
|
|
45
|
+
pickerApiLoaded = true
|
|
46
|
+
createPicker()
|
|
47
|
+
}
|
|
48
|
+
const handleAuthResult = (authResult) => {
|
|
49
|
+
if (authResult && !authResult.error) {
|
|
50
|
+
oauthToken = authResult.access_token
|
|
51
|
+
createPicker()
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const createPicker = () => {
|
|
55
|
+
if (pickerApiLoaded && oauthToken) {
|
|
56
|
+
const view = new google.picker.View(google.picker.ViewId.DOCS)
|
|
57
|
+
view.setMimeTypes(mimeTypes)
|
|
58
|
+
const picker = new google.picker.PickerBuilder()
|
|
59
|
+
.enableFeature(google.picker.Feature.NAV_HIDDEN)
|
|
60
|
+
.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
|
|
61
|
+
.setAppId(appId)
|
|
62
|
+
.setOAuthToken(oauthToken)
|
|
63
|
+
.addView(view)
|
|
64
|
+
.addView(new google.picker.DocsUploadView())
|
|
65
|
+
.setDeveloperKey(developerKey)
|
|
66
|
+
.setCallback(pickerCallback)
|
|
67
|
+
.build()
|
|
68
|
+
picker.setVisible(true)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const pickerCallback = async (data) => {
|
|
72
|
+
if (data.action == google.picker.Action.PICKED) {
|
|
73
|
+
showLoader()
|
|
74
|
+
const res = await fetch(
|
|
75
|
+
`https://www.googleapis.com/drive/v3/files/${data.docs[0].id}?alt=media`,
|
|
76
|
+
{
|
|
77
|
+
headers: {
|
|
78
|
+
Authorization: `Bearer ${oauthToken}`,
|
|
79
|
+
},
|
|
80
|
+
}
|
|
81
|
+
).then((res) => res.blob())
|
|
82
|
+
let metadata = {
|
|
83
|
+
type: data.docs[0].mimeType,
|
|
84
|
+
}
|
|
85
|
+
let file = new File([res], data.docs[0].name, metadata)
|
|
86
|
+
closeLoader()
|
|
87
|
+
getFile(file)
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function chooseFromDropbox() {
|
|
91
|
+
Dropbox.choose({
|
|
92
|
+
success: async (files) => {
|
|
93
|
+
if (files.length < 0) {
|
|
94
|
+
return
|
|
95
|
+
}
|
|
96
|
+
var file = files[0]
|
|
97
|
+
const url = new URL(file.link)
|
|
98
|
+
showLoader()
|
|
99
|
+
const response = await fetch(url).then((res) => res.blob())
|
|
100
|
+
let metadata = {
|
|
101
|
+
type: response.type,
|
|
102
|
+
}
|
|
103
|
+
let newFile = new File([response], file.name, metadata)
|
|
104
|
+
closeLoader()
|
|
105
|
+
getDropBoxFile(newFile)
|
|
106
|
+
},
|
|
107
|
+
cancel: function () {},
|
|
108
|
+
linkType: 'direct',
|
|
109
|
+
multiselect: false,
|
|
110
|
+
extensions: [...filemimes],
|
|
111
|
+
folderselect: false,
|
|
112
|
+
})
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const fileupload=(file)=>{
|
|
116
|
+
gapi.load('auth', {'callback': onAuthLoad});
|
|
117
|
+
}
|
|
118
|
+
const onAuthLoad=()=> {
|
|
119
|
+
window.gapi.auth.authorize(
|
|
120
|
+
{
|
|
121
|
+
'client_id': clientId,
|
|
122
|
+
'scope': scope,
|
|
123
|
+
'immediate': false
|
|
124
|
+
},
|
|
125
|
+
handleAuth);
|
|
126
|
+
}
|
|
127
|
+
const handleAuth=(authResult)=> {
|
|
128
|
+
if (authResult && !authResult.error) {
|
|
129
|
+
showuploadloading()
|
|
130
|
+
var formData = new FormData();
|
|
131
|
+
const fileToUpload = file
|
|
132
|
+
var metadata = {
|
|
133
|
+
name: fileToUpload.name,
|
|
134
|
+
mimeType: fileToUpload.type
|
|
135
|
+
};
|
|
136
|
+
formData.append( "metadata", new Blob( [JSON.stringify( metadata )], {type: "application/json"} ));
|
|
137
|
+
formData.append( "file", fileToUpload );
|
|
138
|
+
fetch( "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart", {
|
|
139
|
+
method: "POST",
|
|
140
|
+
headers: new Headers({ "Authorization": "Bearer " + gapi.auth.getToken().access_token }),
|
|
141
|
+
body: formData
|
|
142
|
+
}).then( function( response ){
|
|
143
|
+
stopuploadloading()
|
|
144
|
+
return response.json();
|
|
145
|
+
|
|
146
|
+
}).then( function( value ){
|
|
147
|
+
stopuploadloading()
|
|
148
|
+
showmessage()
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
|
|
154
154
|
|
data/assets/js/manifest.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
---
|
|
2
|
-
---
|
|
3
|
-
{
|
|
4
|
-
"short_name": "{{site.name}}",
|
|
5
|
-
"name": "{{site.name}}",
|
|
6
|
-
"icons": [
|
|
7
|
-
{
|
|
8
|
-
"src": "{{site.pwalogo}}",
|
|
9
|
-
"type": "image/png",
|
|
10
|
-
"sizes": "1024x1024"
|
|
11
|
-
}
|
|
12
|
-
],
|
|
13
|
-
"start_url": "/",
|
|
14
|
-
"display": "standalone",
|
|
15
|
-
"theme_color": "#000000",
|
|
16
|
-
"background_color": "#ffffff"
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
{
|
|
4
|
+
"short_name": "{{site.name}}",
|
|
5
|
+
"name": "{{site.name}}",
|
|
6
|
+
"icons": [
|
|
7
|
+
{
|
|
8
|
+
"src": "{{site.pwalogo}}",
|
|
9
|
+
"type": "image/png",
|
|
10
|
+
"sizes": "1024x1024"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"start_url": "/",
|
|
14
|
+
"display": "standalone",
|
|
15
|
+
"theme_color": "#000000",
|
|
16
|
+
"background_color": "#ffffff"
|
|
17
17
|
}
|
data/assets/js/multiselect.js
CHANGED
|
@@ -1,156 +1,156 @@
|
|
|
1
|
-
---
|
|
2
|
-
---
|
|
3
|
-
|
|
4
|
-
const addScripts=()=>{
|
|
5
|
-
const scripts=document.getElementsByTagName('script')
|
|
6
|
-
const check= Array.from(scripts).find(item=>item.src==='https://www.dropbox.com/static/api/2/dropins.js')
|
|
7
|
-
if(!check){
|
|
8
|
-
const dropboxscript = document.createElement('script')
|
|
9
|
-
dropboxscript.src = 'https://www.dropbox.com/static/api/2/dropins.js'
|
|
10
|
-
dropboxscript.dataset.appKey = '{{site.dropboxapikey}}'
|
|
11
|
-
dropboxscript.id='dropboxjs'
|
|
12
|
-
document.head.append(dropboxscript)
|
|
13
|
-
}
|
|
14
|
-
const checkgooglescript= Array.from(scripts).find(item=>item.src==='https://apis.google.com/js/api.js')
|
|
15
|
-
if(!checkgooglescript){
|
|
16
|
-
const googlescript = document.createElement('script')
|
|
17
|
-
googlescript.src = 'https://apis.google.com/js/api.js'
|
|
18
|
-
document.head.append(googlescript)
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
const developerKey = '{{site.developerKey}}'
|
|
22
|
-
const clientId ='{{site.clientId}}'
|
|
23
|
-
const appId = '{{site.appId}}'
|
|
24
|
-
const scope = [
|
|
25
|
-
'https://www.googleapis.com/auth/drive.file',
|
|
26
|
-
'https://www.googleapis.com/auth/drive.appdata',
|
|
27
|
-
]
|
|
28
|
-
let pickerApiLoaded = false
|
|
29
|
-
let oauthToken
|
|
30
|
-
const loadPicker = () => {
|
|
31
|
-
gapi.load('auth', { callback: onAuthApiLoad })
|
|
32
|
-
gapi.load('picker', { callback: onPickerApiLoad })
|
|
33
|
-
}
|
|
34
|
-
const onAuthApiLoad = () => {
|
|
35
|
-
window.gapi.auth.authorize(
|
|
36
|
-
{
|
|
37
|
-
client_id: clientId,
|
|
38
|
-
scope: scope,
|
|
39
|
-
immediate: false,
|
|
40
|
-
},
|
|
41
|
-
handleAuthResult
|
|
42
|
-
)
|
|
43
|
-
}
|
|
44
|
-
let onPickerApiLoad = () => {
|
|
45
|
-
pickerApiLoaded = true
|
|
46
|
-
createPicker()
|
|
47
|
-
}
|
|
48
|
-
const handleAuthResult = (authResult) => {
|
|
49
|
-
if (authResult && !authResult.error) {
|
|
50
|
-
oauthToken = authResult.access_token
|
|
51
|
-
createPicker()
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const createPicker = () => {
|
|
55
|
-
if (pickerApiLoaded && oauthToken) {
|
|
56
|
-
const view = new google.picker.View(google.picker.ViewId.DOCS)
|
|
57
|
-
view.setMimeTypes(mimeTypes)
|
|
58
|
-
const picker = new google.picker.PickerBuilder()
|
|
59
|
-
.enableFeature(google.picker.Feature.NAV_HIDDEN)
|
|
60
|
-
.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
|
|
61
|
-
.setAppId(appId)
|
|
62
|
-
.setOAuthToken(oauthToken)
|
|
63
|
-
.addView(view)
|
|
64
|
-
.addView(new google.picker.DocsUploadView())
|
|
65
|
-
.setDeveloperKey(developerKey)
|
|
66
|
-
.setCallback(pickerCallback)
|
|
67
|
-
.build()
|
|
68
|
-
picker.setVisible(true)
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
const pickerCallback = async (data) => {
|
|
72
|
-
if (data.action == google.picker.Action.PICKED) {
|
|
73
|
-
showLoader()
|
|
74
|
-
var filesArray=data.docs.map(async(i)=>{
|
|
75
|
-
const res= await fetch(`https://www.googleapis.com/drive/v3/files/${i.id}?alt=media`,{
|
|
76
|
-
headers: {
|
|
77
|
-
'Authorization': `Bearer ${oauthToken}` }
|
|
78
|
-
}).then(res=>res.blob())
|
|
79
|
-
let metadata = {
|
|
80
|
-
type: i.mimeType
|
|
81
|
-
}
|
|
82
|
-
const file = new File([res], i.name, metadata);
|
|
83
|
-
return file
|
|
84
|
-
})
|
|
85
|
-
closeLoader()
|
|
86
|
-
getFile(filesArray)
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
function chooseFromDropbox() {
|
|
90
|
-
Dropbox.choose({
|
|
91
|
-
success: async (files) => {
|
|
92
|
-
if (files.length < 0) {
|
|
93
|
-
return
|
|
94
|
-
}
|
|
95
|
-
var dropboxArray=files.map(async(file)=>{
|
|
96
|
-
showLoader()
|
|
97
|
-
const url = new URL(file.link)
|
|
98
|
-
const response = await fetch(url).then((res) => res.blob())
|
|
99
|
-
let metadata = {
|
|
100
|
-
type: response.type,
|
|
101
|
-
}
|
|
102
|
-
let newFile = new File([response], file.name, metadata)
|
|
103
|
-
return newFile
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
closeLoader()
|
|
107
|
-
getDropBoxFile(dropboxArray)
|
|
108
|
-
},
|
|
109
|
-
cancel: function () {},
|
|
110
|
-
linkType: 'direct',
|
|
111
|
-
multiselect: true,
|
|
112
|
-
extensions: [...filemimes],
|
|
113
|
-
folderselect: false,
|
|
114
|
-
})
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
const fileupload=(file)=>{
|
|
118
|
-
gapi.load('auth', {'callback': onAuthLoad});
|
|
119
|
-
}
|
|
120
|
-
const onAuthLoad=()=> {
|
|
121
|
-
window.gapi.auth.authorize(
|
|
122
|
-
{
|
|
123
|
-
'client_id': clientId,
|
|
124
|
-
'scope': scope,
|
|
125
|
-
'immediate': false
|
|
126
|
-
},
|
|
127
|
-
handleAuth);
|
|
128
|
-
}
|
|
129
|
-
const handleAuth=(authResult)=> {
|
|
130
|
-
if (authResult && !authResult.error) {
|
|
131
|
-
showuploadloading()
|
|
132
|
-
var formData = new FormData();
|
|
133
|
-
const fileToUpload = file
|
|
134
|
-
var metadata = {
|
|
135
|
-
name: fileToUpload.name,
|
|
136
|
-
mimeType: fileToUpload.type
|
|
137
|
-
};
|
|
138
|
-
formData.append( "metadata", new Blob( [JSON.stringify( metadata )], {type: "application/json"} ));
|
|
139
|
-
formData.append( "file", fileToUpload );
|
|
140
|
-
fetch( "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart", {
|
|
141
|
-
method: "POST",
|
|
142
|
-
headers: new Headers({ "Authorization": "Bearer " + gapi.auth.getToken().access_token }),
|
|
143
|
-
body: formData
|
|
144
|
-
}).then( function( response ){
|
|
145
|
-
stopuploadloading()
|
|
146
|
-
return response.json();
|
|
147
|
-
|
|
148
|
-
}).then( function( value ){
|
|
149
|
-
stopuploadloading()
|
|
150
|
-
showmessage()
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
|
|
4
|
+
const addScripts=()=>{
|
|
5
|
+
const scripts=document.getElementsByTagName('script')
|
|
6
|
+
const check= Array.from(scripts).find(item=>item.src==='https://www.dropbox.com/static/api/2/dropins.js')
|
|
7
|
+
if(!check){
|
|
8
|
+
const dropboxscript = document.createElement('script')
|
|
9
|
+
dropboxscript.src = 'https://www.dropbox.com/static/api/2/dropins.js'
|
|
10
|
+
dropboxscript.dataset.appKey = '{{site.dropboxapikey}}'
|
|
11
|
+
dropboxscript.id='dropboxjs'
|
|
12
|
+
document.head.append(dropboxscript)
|
|
13
|
+
}
|
|
14
|
+
const checkgooglescript= Array.from(scripts).find(item=>item.src==='https://apis.google.com/js/api.js')
|
|
15
|
+
if(!checkgooglescript){
|
|
16
|
+
const googlescript = document.createElement('script')
|
|
17
|
+
googlescript.src = 'https://apis.google.com/js/api.js'
|
|
18
|
+
document.head.append(googlescript)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const developerKey = '{{site.developerKey}}'
|
|
22
|
+
const clientId ='{{site.clientId}}'
|
|
23
|
+
const appId = '{{site.appId}}'
|
|
24
|
+
const scope = [
|
|
25
|
+
'https://www.googleapis.com/auth/drive.file',
|
|
26
|
+
'https://www.googleapis.com/auth/drive.appdata',
|
|
27
|
+
]
|
|
28
|
+
let pickerApiLoaded = false
|
|
29
|
+
let oauthToken
|
|
30
|
+
const loadPicker = () => {
|
|
31
|
+
gapi.load('auth', { callback: onAuthApiLoad })
|
|
32
|
+
gapi.load('picker', { callback: onPickerApiLoad })
|
|
33
|
+
}
|
|
34
|
+
const onAuthApiLoad = () => {
|
|
35
|
+
window.gapi.auth.authorize(
|
|
36
|
+
{
|
|
37
|
+
client_id: clientId,
|
|
38
|
+
scope: scope,
|
|
39
|
+
immediate: false,
|
|
40
|
+
},
|
|
41
|
+
handleAuthResult
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
let onPickerApiLoad = () => {
|
|
45
|
+
pickerApiLoaded = true
|
|
46
|
+
createPicker()
|
|
47
|
+
}
|
|
48
|
+
const handleAuthResult = (authResult) => {
|
|
49
|
+
if (authResult && !authResult.error) {
|
|
50
|
+
oauthToken = authResult.access_token
|
|
51
|
+
createPicker()
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const createPicker = () => {
|
|
55
|
+
if (pickerApiLoaded && oauthToken) {
|
|
56
|
+
const view = new google.picker.View(google.picker.ViewId.DOCS)
|
|
57
|
+
view.setMimeTypes(mimeTypes)
|
|
58
|
+
const picker = new google.picker.PickerBuilder()
|
|
59
|
+
.enableFeature(google.picker.Feature.NAV_HIDDEN)
|
|
60
|
+
.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
|
|
61
|
+
.setAppId(appId)
|
|
62
|
+
.setOAuthToken(oauthToken)
|
|
63
|
+
.addView(view)
|
|
64
|
+
.addView(new google.picker.DocsUploadView())
|
|
65
|
+
.setDeveloperKey(developerKey)
|
|
66
|
+
.setCallback(pickerCallback)
|
|
67
|
+
.build()
|
|
68
|
+
picker.setVisible(true)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const pickerCallback = async (data) => {
|
|
72
|
+
if (data.action == google.picker.Action.PICKED) {
|
|
73
|
+
showLoader()
|
|
74
|
+
var filesArray=data.docs.map(async(i)=>{
|
|
75
|
+
const res= await fetch(`https://www.googleapis.com/drive/v3/files/${i.id}?alt=media`,{
|
|
76
|
+
headers: {
|
|
77
|
+
'Authorization': `Bearer ${oauthToken}` }
|
|
78
|
+
}).then(res=>res.blob())
|
|
79
|
+
let metadata = {
|
|
80
|
+
type: i.mimeType
|
|
81
|
+
}
|
|
82
|
+
const file = new File([res], i.name, metadata);
|
|
83
|
+
return file
|
|
84
|
+
})
|
|
85
|
+
closeLoader()
|
|
86
|
+
getFile(filesArray)
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function chooseFromDropbox() {
|
|
90
|
+
Dropbox.choose({
|
|
91
|
+
success: async (files) => {
|
|
92
|
+
if (files.length < 0) {
|
|
93
|
+
return
|
|
94
|
+
}
|
|
95
|
+
var dropboxArray=files.map(async(file)=>{
|
|
96
|
+
showLoader()
|
|
97
|
+
const url = new URL(file.link)
|
|
98
|
+
const response = await fetch(url).then((res) => res.blob())
|
|
99
|
+
let metadata = {
|
|
100
|
+
type: response.type,
|
|
101
|
+
}
|
|
102
|
+
let newFile = new File([response], file.name, metadata)
|
|
103
|
+
return newFile
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
closeLoader()
|
|
107
|
+
getDropBoxFile(dropboxArray)
|
|
108
|
+
},
|
|
109
|
+
cancel: function () {},
|
|
110
|
+
linkType: 'direct',
|
|
111
|
+
multiselect: true,
|
|
112
|
+
extensions: [...filemimes],
|
|
113
|
+
folderselect: false,
|
|
114
|
+
})
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const fileupload=(file)=>{
|
|
118
|
+
gapi.load('auth', {'callback': onAuthLoad});
|
|
119
|
+
}
|
|
120
|
+
const onAuthLoad=()=> {
|
|
121
|
+
window.gapi.auth.authorize(
|
|
122
|
+
{
|
|
123
|
+
'client_id': clientId,
|
|
124
|
+
'scope': scope,
|
|
125
|
+
'immediate': false
|
|
126
|
+
},
|
|
127
|
+
handleAuth);
|
|
128
|
+
}
|
|
129
|
+
const handleAuth=(authResult)=> {
|
|
130
|
+
if (authResult && !authResult.error) {
|
|
131
|
+
showuploadloading()
|
|
132
|
+
var formData = new FormData();
|
|
133
|
+
const fileToUpload = file
|
|
134
|
+
var metadata = {
|
|
135
|
+
name: fileToUpload.name,
|
|
136
|
+
mimeType: fileToUpload.type
|
|
137
|
+
};
|
|
138
|
+
formData.append( "metadata", new Blob( [JSON.stringify( metadata )], {type: "application/json"} ));
|
|
139
|
+
formData.append( "file", fileToUpload );
|
|
140
|
+
fetch( "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart", {
|
|
141
|
+
method: "POST",
|
|
142
|
+
headers: new Headers({ "Authorization": "Bearer " + gapi.auth.getToken().access_token }),
|
|
143
|
+
body: formData
|
|
144
|
+
}).then( function( response ){
|
|
145
|
+
stopuploadloading()
|
|
146
|
+
return response.json();
|
|
147
|
+
|
|
148
|
+
}).then( function( value ){
|
|
149
|
+
stopuploadloading()
|
|
150
|
+
showmessage()
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
|
|
156
156
|
|