bullet_train-fields 1.7.17 → 1.7.18
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9b14ac3386fb54947b395cdfe52c4b6e67daf66d85bfc2835ca57a902f595f3
|
4
|
+
data.tar.gz: 3f83062cbb1c93c12aba34a905e6b7e9aad844d9d2d5bea3cb838fc7aae70ffd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b156011b5b6c7829d09d15afc81bffa8db7731d979353e8e32e2faa87a3af647bc0877209276561faa39c2dba63115962744414e8779de6f8e0e9e1c954a4bcd
|
7
|
+
data.tar.gz: 44096f02396db0eab961f73859d980cbd4b13aede5f99b9af82ee0a3a6a869565f9da8aee74d6ab6bd30ca1774f5ccb54790779e93eda0c880c3144100d6af5c
|
@@ -7,11 +7,23 @@ export default class extends Controller {
|
|
7
7
|
"downloadFileButton",
|
8
8
|
"removeFileButton",
|
9
9
|
"selectFileButton",
|
10
|
+
"selectFileButtonText",
|
11
|
+
"selectFileButtonIcon",
|
12
|
+
"selectedFileListContainer",
|
13
|
+
"selectedFileList",
|
14
|
+
"selectedFileRowTemplate",
|
10
15
|
"progressBar",
|
11
16
|
"progressLabel",
|
12
17
|
];
|
13
18
|
|
19
|
+
static values = {
|
20
|
+
selectDifferentFile: String
|
21
|
+
}
|
22
|
+
|
14
23
|
connect() {
|
24
|
+
const statusText = this.selectFileButtonTextTarget;
|
25
|
+
this.originalStatusText = statusText.innerText;
|
26
|
+
|
15
27
|
// Add upload event listeners
|
16
28
|
const initializeListener = document.addEventListener(
|
17
29
|
"direct-upload:initialize",
|
@@ -77,16 +89,56 @@ export default class extends Controller {
|
|
77
89
|
this.removeFileFlagTarget.value = true;
|
78
90
|
}
|
79
91
|
|
80
|
-
handleFileSelected() {
|
81
|
-
const statusText = this.selectFileButtonTarget.querySelector("span");
|
82
|
-
const icon = this.selectFileButtonTarget.querySelector("i");
|
83
|
-
|
92
|
+
handleFileSelected(event) {
|
84
93
|
if (this.hasDownloadFileButtonTarget) {
|
85
94
|
this.downloadFileButtonTarget.remove();
|
86
95
|
}
|
87
96
|
|
88
|
-
|
89
|
-
|
90
|
-
|
97
|
+
const files = event.target.files;
|
98
|
+
this.updateSelectedFileList(files);
|
99
|
+
}
|
100
|
+
|
101
|
+
cancelFileUpload(event){
|
102
|
+
const fileInput = this.fileFieldTarget;
|
103
|
+
const files = fileInput.files;
|
104
|
+
const fileToCancel = event.target.dataset.filename;
|
105
|
+
|
106
|
+
const dt = new DataTransfer();
|
107
|
+
for (const file of files) {
|
108
|
+
if(file.name != fileToCancel){
|
109
|
+
dt.items.add(file);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
fileInput.files = dt.files;
|
113
|
+
this.updateSelectedFileList(dt.files);
|
114
|
+
}
|
115
|
+
|
116
|
+
updateSelectedFileList(files){
|
117
|
+
const statusText = this.selectFileButtonTextTarget;
|
118
|
+
const icon = this.selectFileButtonIconTarget;
|
119
|
+
|
120
|
+
this.selectedFileListTarget.innerHTML = "";
|
121
|
+
|
122
|
+
if(files.length){
|
123
|
+
for (const file of files) {
|
124
|
+
this.addSelectedFile(file);
|
125
|
+
}
|
126
|
+
statusText.innerText = this.selectDifferentFileValue;
|
127
|
+
icon.classList.remove("ti-upload");
|
128
|
+
icon.classList.add("ti-check");
|
129
|
+
this.selectedFileListContainerTarget.classList.remove('hidden')
|
130
|
+
}else{
|
131
|
+
statusText.innerText = this.originalStatusText;
|
132
|
+
icon.classList.add("ti-upload");
|
133
|
+
icon.classList.remove("ti-check");
|
134
|
+
this.selectedFileListContainerTarget.classList.add('hidden')
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
addSelectedFile(file){
|
139
|
+
let template = this.selectedFileRowTemplateTarget.innerHTML;
|
140
|
+
template = template.replaceAll("@FILENAME@", file.name);
|
141
|
+
this.selectedFileListTarget.insertAdjacentHTML('beforeend', template);
|
91
142
|
}
|
143
|
+
|
92
144
|
}
|
@@ -5,6 +5,7 @@ export default class extends Controller {
|
|
5
5
|
"removeFileFlag",
|
6
6
|
"downloadFileButton",
|
7
7
|
"removeFileButton",
|
8
|
+
"cancelRemoveFileButton",
|
8
9
|
"fileName"
|
9
10
|
];
|
10
11
|
|
@@ -16,8 +17,20 @@ export default class extends Controller {
|
|
16
17
|
}
|
17
18
|
|
18
19
|
this.removeFileButtonTarget.classList.add("hidden");
|
19
|
-
this.
|
20
|
+
this.cancelRemoveFileButtonTarget.classList.remove("hidden");
|
20
21
|
this.removeFileFlagTarget.value = this.idValue;
|
22
|
+
this.element.classList.add("bg-red-100", "dark:bg-red-700");
|
23
|
+
}
|
24
|
+
|
25
|
+
cancelRemoveFile(){
|
26
|
+
if (this.hasDownloadFileButtonTarget) {
|
27
|
+
this.downloadFileButtonTarget.classList.remove("hidden");
|
28
|
+
}
|
29
|
+
|
30
|
+
this.removeFileButtonTarget.classList.remove("hidden");
|
31
|
+
this.cancelRemoveFileButtonTarget.classList.add("hidden");
|
32
|
+
this.removeFileFlagTarget.value = null;
|
33
|
+
this.element.classList.remove("bg-red-100", "dark:bg-red-700/40");
|
21
34
|
}
|
22
35
|
|
23
36
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bullet_train-fields
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Culver
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: standard
|