[prettier] auto-fix

This commit is contained in:
PauI Ostrovckij
2025-08-27 10:50:22 +03:00
parent 79de4b3eaa
commit fb20086ef1
82 changed files with 11568 additions and 10222 deletions

View File

@ -1,146 +1,146 @@
/* AI Integration Styles */
.ai-settings-section {
margin-top: 15px;
margin-bottom: 15px;
margin-top: 15px;
margin-bottom: 15px;
}
.ai-spoiler {
cursor: pointer;
padding: 12px 15px;
background: #F5F5F5;
border: 1px solid #EFEFEF;
border-radius: 3px;
margin-top: 15px;
margin-bottom: 15px;
font-size: 14px;
font-weight: 600;
color: #333333;
user-select: none;
position: relative;
cursor: pointer;
padding: 12px 15px;
background: #f5f5f5;
border: 1px solid #efefef;
border-radius: 3px;
margin-top: 15px;
margin-bottom: 15px;
font-size: 14px;
font-weight: 600;
color: #333333;
user-select: none;
position: relative;
}
.ai-spoiler:hover {
background: #EEEEEE;
background: #eeeeee;
}
.ai-spoiler::after {
content: '▼';
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
transition: transform 0.3s ease;
color: #666666;
content: '▼';
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
transition: transform 0.3s ease;
color: #666666;
}
.ai-spoiler.collapsed::after {
transform: translateY(-50%) rotate(-90deg);
transform: translateY(-50%) rotate(-90deg);
}
.ai-content {
display: block;
overflow: hidden;
transition: max-height 0.3s ease;
border: 1px solid #EFEFEF;
border-top: none;
border-radius: 0 0 3px 3px;
background: white;
display: block;
overflow: hidden;
transition: max-height 0.3s ease;
border: 1px solid #efefef;
border-top: none;
border-radius: 0 0 3px 3px;
background: white;
}
.ai-content.collapsed {
display: none;
display: none;
}
.ai-iframe-container {
position: relative;
background: white;
height: 500px;
position: relative;
background: white;
height: 500px;
}
.ai-iframe {
width: 100%;
height: 500px;
border: none;
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 500px;
border: none;
display: block;
position: absolute;
top: 0;
left: 0;
}
.ai-iframe.hidden {
display: none;
display: none;
}
.ai-iframe-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.9);
display: none;
align-items: center;
justify-content: center;
z-index: 10;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.9);
display: none;
align-items: center;
justify-content: center;
z-index: 10;
}
.ai-iframe-overlay.loading {
display: flex;
display: flex;
}
.ai-loading-text {
font-size: 14px;
color: #666666;
font-size: 14px;
color: #666666;
}
.ai-controls {
padding: 10px 15px;
background: #F9F9F9;
border-top: 1px solid #EFEFEF;
text-align: right;
padding: 10px 15px;
background: #f9f9f9;
border-top: 1px solid #efefef;
text-align: right;
}
.ai-btn {
display: inline-block;
padding: 6px 12px;
margin-left: 8px;
border: 1px solid #CCCCCC;
border-radius: 2px;
background: white;
color: #333333;
font-size: 12px;
cursor: pointer;
text-decoration: none;
transition: all 0.2s ease;
display: inline-block;
padding: 6px 12px;
margin-left: 8px;
border: 1px solid #cccccc;
border-radius: 2px;
background: white;
color: #333333;
font-size: 12px;
cursor: pointer;
text-decoration: none;
transition: all 0.2s ease;
}
.ai-btn:hover {
background: #F5F5F5;
border-color: #AAAAAA;
background: #f5f5f5;
border-color: #aaaaaa;
}
.ai-btn.primary {
background: #3D4A6B;
color: white;
border-color: #3D4A6B;
background: #3d4a6b;
color: white;
border-color: #3d4a6b;
}
.ai-btn.primary:hover {
background: #2E3B54;
border-color: #2E3B54;
background: #2e3b54;
border-color: #2e3b54;
}
.ai-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
opacity: 0.6;
cursor: not-allowed;
}
.ai-btn:disabled:hover {
background: white;
border-color: #CCCCCC;
background: white;
border-color: #cccccc;
}
.ai-btn.primary:disabled:hover {
background: #3D4A6B;
border-color: #3D4A6B;
background: #3d4a6b;
border-color: #3d4a6b;
}

View File

@ -1,62 +1,62 @@
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 11px;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 11px;
}
/* button */
.btn-text-default {
background: #fff;
border: 1px solid #cfcfcf;
border-radius: 2px;
color: #444444;
font-size: 11px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
height: 22px;
cursor: pointer;
background: #fff;
border: 1px solid #cfcfcf;
border-radius: 2px;
color: #444444;
font-size: 11px;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
height: 22px;
cursor: pointer;
}
.btn-text-default::-moz-focus-inner {
border: 0;
padding: 0;
border: 0;
padding: 0;
}
.btn-text-default.submit {
font-weight: bold;
background-color: #d8dadc;
border: 1px solid transparent;
font-weight: bold;
background-color: #d8dadc;
border: 1px solid transparent;
}
.btn-text-default.submit.primary {
color: #fff;
background-color: #7d858c;
color: #fff;
background-color: #7d858c;
}
.btn-text-default:focus {
outline: 0;
outline-offset: 0;
outline: 0;
outline-offset: 0;
}
.btn-text-default:hover {
background-color: #d8dadc;
background-color: #d8dadc;
}
.btn-text-default.submit:hover {
background-color: #cbced1;
background-color: #cbced1;
}
.btn-text-default.primary:hover {
background-color: #666d73 !important;
color: #fff;
background-color: #666d73 !important;
color: #fff;
}
.btn-text-default:active,
.btn-text-default.active {
background-color: #7d858c !important;
color: white;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid transparent;
background-color: #7d858c !important;
color: white;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid transparent;
}
.btn-text-default[disabled]:hover,
@ -65,382 +65,380 @@ body {
.btn-text-default[disabled].active,
.btn-text-default.disabled:active,
.btn-text-default.disabled.active {
background-color: #fff !important;
color: #444444;
cursor: default;
background-color: #fff !important;
color: #444444;
cursor: default;
}
.btn-text-default[disabled],
.btn-text-default.disabled {
opacity: 0.65;
opacity: 0.65;
}
.btn-edit {
width: 13px;
height: 13px;
cursor: pointer;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGZSURBVHgBfZI/y4FRGMavx7+SRQaTTQab74CVlBKL/FukDGQhEgsDNh/Apiw+gcXm70DJoEikKMUk7vec8/Yi75O7Tj2d+/4913Wuc6Tz+UyQqev1itvtBr1e/6+nkgP2+z0qlYr4DgaDsNls36HtdotisYhoNAqLxYJyuSz230HFO7DZbISC0+lEp9OBRqNBLpdDq9XCeDx+DfIz8TWZTIhZodFoRMvlknw+H8XjcdrtdrRarYgpU6/XE7MC4oMc4OB8Pie/30/ZbJba7TYlk0k6HA4CDIVCxNyQYrFYoNFoIJ1OQ5Ik5PN5WK1WpFIprNdr8H61WhVn5X2VisXg8XhoNpvRYDAgt9tNbICOxyOVSiVyuVzU7/epXq9TIBAQtrkzxeVygclkQrfbhd1uRzgcRq1Ww3A4FKparRbspyJRo9H4G4TD4RD06XQS3pkt8nq9NJ1OiSVGsVjsqfC3nvekVCrxeDxgMBgQiUTEa2g2m8hkMi8FuXtSq9VIJBK43+8iHB7GJ8BL4vY+N3U6HQqFAsxmM+TqB5Je/SVNoN18AAAAAElFTkSuQmCC');
width: 13px;
height: 13px;
cursor: pointer;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGZSURBVHgBfZI/y4FRGMavx7+SRQaTTQab74CVlBKL/FukDGQhEgsDNh/Apiw+gcXm70DJoEikKMUk7vec8/Yi75O7Tj2d+/4913Wuc6Tz+UyQqev1itvtBr1e/6+nkgP2+z0qlYr4DgaDsNls36HtdotisYhoNAqLxYJyuSz230HFO7DZbISC0+lEp9OBRqNBLpdDq9XCeDx+DfIz8TWZTIhZodFoRMvlknw+H8XjcdrtdrRarYgpU6/XE7MC4oMc4OB8Pie/30/ZbJba7TYlk0k6HA4CDIVCxNyQYrFYoNFoIJ1OQ5Ik5PN5WK1WpFIprNdr8H61WhVn5X2VisXg8XhoNpvRYDAgt9tNbICOxyOVSiVyuVzU7/epXq9TIBAQtrkzxeVygclkQrfbhd1uRzgcRq1Ww3A4FKparRbspyJRo9H4G4TD4RD06XQS3pkt8nq9NJ1OiSVGsVjsqfC3nvekVCrxeDxgMBgQiUTEa2g2m8hkMi8FuXtSq9VIJBK43+8iHB7GJ8BL4vY+N3U6HQqFAsxmM+TqB5Je/SVNoN18AAAAAElFTkSuQmCC');
}
/* div button */
div.btn-text-default {
height: fit-content !important;
min-height: 20px;
height: fit-content !important;
min-height: 20px;
}
/* input, textarea */
.form-control {
border: 1px solid #cfcfcf;
border-radius: 2px;
box-sizing: border-box;
color: #444444;
font-size: 11px;
height: 22px;
padding: 1px 3px;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
border: 1px solid #cfcfcf;
border-radius: 2px;
box-sizing: border-box;
color: #444444;
font-size: 11px;
height: 22px;
padding: 1px 3px;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
.form-control:focus {
border-color: #848484;
outline: 0;
-webkit-box-shadow: none;
box-shadow: none;
border-color: #848484;
outline: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
.form-control[readonly] {
background-color: #fff;
cursor: pointer;
background-color: #fff;
cursor: pointer;
}
.form-control[disabled] {
background-color: #fff;
cursor: default;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
opacity: 0.65;
background-color: #fff;
cursor: default;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
opacity: 0.65;
}
textarea.form-control {
resize: none;
resize: none;
}
input[type='checkbox'].form-control {
height: auto;
margin: 0;
height: auto;
margin: 0;
}
@supports(-webkit-appearance: none) or (-moz-appearance: none) {
input[type='checkbox'].form-control {
-webkit-appearance: none;
-moz-appearance: none;
width: 14px;
height: 14px;
background: #fff;
border: 1px solid #cfcfcf;
border-radius: 2px;
padding: 0;
position: relative;
margin: 0;
}
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
input[type='checkbox'].form-control {
-webkit-appearance: none;
-moz-appearance: none;
width: 14px;
height: 14px;
background: #fff;
border: 1px solid #cfcfcf;
border-radius: 2px;
padding: 0;
position: relative;
margin: 0;
}
input[type='checkbox'].form-control:checked:after {
content: '';
position: absolute;
border: solid #444444;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
width: 3px;
height: 7px;
left: 4px;
}
input[type='checkbox'].form-control:checked:after {
content: '';
position: absolute;
border: solid #444444;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
width: 3px;
height: 7px;
left: 4px;
}
input[type='checkbox'].form-control:disabled {
opacity: .5;
}
input[type='checkbox'].form-control:disabled {
opacity: 0.5;
}
input[type='radio'].form-control {
appearance: none;
-webkit-appearance: none;
border: 2px solid #fff;
border-radius: 100%;
box-shadow: 0 0 0 1px #cfcfcf;
height: 12px;
width: 12px;
accent-color: #444;
margin: 0 0 1px;
background-color: #fff;
}
input[type='radio'].form-control:checked {
background-color: #444;
}
input[type='radio'].form-control:disabled {
opacity: .5;
}
input[type='radio'].form-control {
appearance: none;
-webkit-appearance: none;
border: 2px solid #fff;
border-radius: 100%;
box-shadow: 0 0 0 1px #cfcfcf;
height: 12px;
width: 12px;
accent-color: #444;
margin: 0 0 1px;
background-color: #fff;
}
input[type='radio'].form-control:checked {
background-color: #444;
}
input[type='radio'].form-control:disabled {
opacity: 0.5;
}
}
/* label */
label.link {
border-bottom: 1px dotted #aaa;
cursor: pointer;
border-bottom: 1px dotted #aaa;
cursor: pointer;
}
label.for-combo {
height: 22px;
padding-top: 4px;
height: 22px;
padding-top: 4px;
}
label.header {
font-weight: bold;
font-weight: bold;
}
/* comments */
.user-comment-item {
padding: 5px 0;
width: 100%;
padding: 5px 0;
width: 100%;
}
.user-comment-item .main-actions{
width: 100%;
display: flex;
padding-bottom: 8px;
font-size: 12px;
.user-comment-item .main-actions {
width: 100%;
display: flex;
padding-bottom: 8px;
font-size: 12px;
}
.user-comment-item .form-control.user-check {
margin-right: 5px;
flex-grow: 0;
flex-shrink: 0;
margin-right: 5px;
flex-grow: 0;
flex-shrink: 0;
}
.user-comment-item .user-name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-weight: bold;
max-width: 40%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-weight: bold;
max-width: 40%;
}
.user-comment-item .user-message {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex-grow: 1;
margin-left: 2px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex-grow: 1;
margin-left: 2px;
}
.user-comment-item .btn-edit {
width: 13px;
height: 13px;
margin-left: 5px;
flex-grow: 0;
flex-shrink: 0;
cursor: pointer;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGZSURBVHgBfZI/y4FRGMavx7+SRQaTTQab74CVlBKL/FukDGQhEgsDNh/Apiw+gcXm70DJoEikKMUk7vec8/Yi75O7Tj2d+/4913Wuc6Tz+UyQqev1itvtBr1e/6+nkgP2+z0qlYr4DgaDsNls36HtdotisYhoNAqLxYJyuSz230HFO7DZbISC0+lEp9OBRqNBLpdDq9XCeDx+DfIz8TWZTIhZodFoRMvlknw+H8XjcdrtdrRarYgpU6/XE7MC4oMc4OB8Pie/30/ZbJba7TYlk0k6HA4CDIVCxNyQYrFYoNFoIJ1OQ5Ik5PN5WK1WpFIprNdr8H61WhVn5X2VisXg8XhoNpvRYDAgt9tNbICOxyOVSiVyuVzU7/epXq9TIBAQtrkzxeVygclkQrfbhd1uRzgcRq1Ww3A4FKparRbspyJRo9H4G4TD4RD06XQS3pkt8nq9NJ1OiSVGsVjsqfC3nvekVCrxeDxgMBgQiUTEa2g2m8hkMi8FuXtSq9VIJBK43+8iHB7GJ8BL4vY+N3U6HQqFAsxmM+TqB5Je/SVNoN18AAAAAElFTkSuQmCC');
width: 13px;
height: 13px;
margin-left: 5px;
flex-grow: 0;
flex-shrink: 0;
cursor: pointer;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGZSURBVHgBfZI/y4FRGMavx7+SRQaTTQab74CVlBKL/FukDGQhEgsDNh/Apiw+gcXm70DJoEikKMUk7vec8/Yi75O7Tj2d+/4913Wuc6Tz+UyQqev1itvtBr1e/6+nkgP2+z0qlYr4DgaDsNls36HtdotisYhoNAqLxYJyuSz230HFO7DZbISC0+lEp9OBRqNBLpdDq9XCeDx+DfIz8TWZTIhZodFoRMvlknw+H8XjcdrtdrRarYgpU6/XE7MC4oMc4OB8Pie/30/ZbJba7TYlk0k6HA4CDIVCxNyQYrFYoNFoIJ1OQ5Ik5PN5WK1WpFIprNdr8H61WhVn5X2VisXg8XhoNpvRYDAgt9tNbICOxyOVSiVyuVzU7/epXq9TIBAQtrkzxeVygclkQrfbhd1uRzgcRq1Ww3A4FKparRbspyJRo9H4G4TD4RD06XQS3pkt8nq9NJ1OiSVGsVjsqfC3nvekVCrxeDxgMBgQiUTEa2g2m8hkMi8FuXtSq9VIJBK43+8iHB7GJ8BL4vY+N3U6HQqFAsxmM+TqB5Je/SVNoN18AAAAAElFTkSuQmCC');
}
.user-comment-item .reply-actions,
.user-comment-item .comment-edit {
padding-left: 18px;
padding-bottom: 10px;
padding-left: 18px;
padding-bottom: 10px;
}
.user-comment-item .reply-view {
padding-left: 18px;
padding-left: 18px;
}
.user-comment-item .reply-view .comment-edit{
padding-left: 0;
.user-comment-item .reply-view .comment-edit {
padding-left: 0;
}
.user-comment-item .msg-edit {
width: 100%;
height: 45px;
margin-bottom: 3px;
width: 100%;
height: 45px;
margin-bottom: 3px;
}
.user-comment-item .reply-accept {
margin-bottom: 7px;
margin-bottom: 7px;
}
.user-comment-item .reply-accept label,
.user-comment-item .reply-accept .user-check {
vertical-align: middle;
vertical-align: middle;
}
/* common styles */
.hidden {
display: none;
display: none;
}
.separator.horizontal {
width: 100%;
height: 0;
border-left: none;
border-right: none;
border-top: 1px solid #cbcbcb;
width: 100%;
height: 0;
border-left: none;
border-right: none;
border-top: 1px solid #cbcbcb;
}
.defaultlable {
color: #444444;
cursor: default;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 11px;
font-weight: normal;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
color: #444444;
cursor: default;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 11px;
font-weight: normal;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.defaultcenterlable {
color: #444444;
cursor: default;
text-align: center;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 11px;
font-style: normal;
font-weight: normal;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
margin: 0px;
padding: 0px;
width: 100%;
color: #444444;
cursor: default;
text-align: center;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 11px;
font-style: normal;
font-weight: normal;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
margin: 0px;
padding: 0px;
width: 100%;
}
.aboutlable {
color: #444444;
cursor: default;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
font-weight: normal;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
color: #444444;
cursor: default;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12px;
font-weight: normal;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
a.aboutlink {
color: #444444;
text-decoration: none;
color: #444444;
text-decoration: none;
}
a.aboutlink:hover {
text-decoration: underline;
text-decoration: underline;
}
a.aboutlink:active {
text-decoration: underline;
text-decoration: underline;
}
.noselect{
-khtml-user-select: none;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
.noselect {
-khtml-user-select: none;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
}
.select2-dropdown,
.select2-container--default .select2-selection--single {
border: 1px solid #cfcfcf !important;
border: 1px solid #cfcfcf !important;
}
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus:not(.select2-container--disabled) .select2-selection--single{
border-color: #848484 !important;
.select2-container--default.select2-container--focus:not(.select2-container--disabled) .select2-selection--single {
border-color: #848484 !important;
}
.select2-container .select2-selection--single .select2-selection__rendered,
.select2-results__options {
font-size: 11px !important;
font-size: 11px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height: 20px !important;
line-height: 20px !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
color: #ffffff;
.select2-container--default .select2-results__option[aria-selected='true'] {
color: #ffffff;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
width: 4px !important;
height: 4px !important;
margin: -1px 1px !important;
border: solid 1px #444 !important;
border-bottom: none !important;
border-right: none !important;
background-image: none;
box-sizing: border-box;
.select2-container--default .select2-selection--single .select2-selection__arrow b {
width: 4px !important;
height: 4px !important;
margin: -1px 1px !important;
border: solid 1px #444 !important;
border-bottom: none !important;
border-right: none !important;
background-image: none;
box-sizing: border-box;
transition: transform 0.2s ease;
transform: rotate(-135deg) translate(1px,1px);
transition: transform 0.2s ease;
transform: rotate(-135deg) translate(1px, 1px);
}
.select2-container--default .select2-search .select2-selection__arrow b {
width: 4px !important;
height: 4px !important;
margin: -1px 1px !important;
border: solid 1px #404040 !important;
border-bottom: none !important;
border-right: none !important;
background-image: none;
box-sizing: border-box;
transition: transform 0.2s ease;
transform: rotate(-135deg) translate(1px,1px);
left: 50%;
position: absolute;
top: 50%;
width: 4px !important;
height: 4px !important;
margin: -1px 1px !important;
border: solid 1px #404040 !important;
border-bottom: none !important;
border-right: none !important;
background-image: none;
box-sizing: border-box;
transition: transform 0.2s ease;
transform: rotate(-135deg) translate(1px, 1px);
left: 50%;
position: absolute;
top: 50%;
}
.select2-search--dropdown {
padding: 0px !important;
padding: 0px !important;
}
.select2-container--default.select2-container--open .select2-selection__arrow b{
transform: rotate(45deg);
.select2-container--default.select2-container--open .select2-selection__arrow b {
transform: rotate(45deg);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
outline: none;
border-color: #cfcfcf;
border-radius: 2px;
font-size: 11px;
outline: none;
border-color: #cfcfcf;
border-radius: 2px;
font-size: 11px;
}
.select2-search.select2-search--dropdown .select2-selection__arrow {
height: 20px;
position: absolute;
top: 1px;
right: 1px;
width: 20px;
height: 20px;
position: absolute;
top: 1px;
right: 1px;
width: 20px;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
background-color: #d8dadc !important;
background-color: #d8dadc !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected=true] {
background-color: #7d858c !important;
.select2-container--default .select2-results__option--highlighted[aria-selected='true'] {
background-color: #7d858c !important;
}
.select2-search.select2-search--dropdown .select2-selection__arrow {
cursor: pointer !important
cursor: pointer !important;
}
.select2-container {
max-height : 20px !important;
max-height: 20px !important;
}
.select2-container--default.select2-container--disabled{
opacity: 0.65 !important
.select2-container--default.select2-container--disabled {
opacity: 0.65 !important;
}
/*
* Container style
@ -466,20 +464,24 @@ a.aboutlink:active {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
transition: background-color .2s linear, opacity .2s linear;
transition:
background-color 0.2s linear,
opacity 0.2s linear;
}
.ps__rail-y {
display: none;
right: 2px; /* there must be 'right' for ps-scrollbar-y-rail */
width: 9px;
margin: 2px 0 2px 0;
right: 2px; /* there must be 'right' for ps-scrollbar-y-rail */
width: 9px;
margin: 2px 0 2px 0;
/* please don't change 'position' */
position: absolute;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
transition: background-color .2s linear, opacity .2s linear;
transition:
background-color 0.2s linear,
opacity 0.2s linear;
}
.ps--active-x > .ps__rail-x,
@ -494,46 +496,46 @@ a.aboutlink:active {
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
background-color: #EEEEEE;
background-color: #eeeeee;
}
/*
* Scrollbar thumb styles
*/
.ps__thumb-x {
position: absolute; /* please don't change 'position' */
bottom: 0; /* there must be 'bottom' for ps-scrollbar-x */
height: 9px;
background-color: rgb(241, 241, 241);
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
visibility: visible;
display: block;
box-sizing: border-box;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAOCAYAAAD0f5bSAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAALElEQVQokWNgoBs4f/78f1JpJnIsIkvTsAQfP378TypNxyD/+PEjyRrJsgkAKS81km7nDNQAAAAASUVORK5CYII=);
image-rendering: pixelated;
background-repeat: no-repeat;
background-position: center 0;
border: 1px solid #cfcfcf;
position: absolute; /* please don't change 'position' */
bottom: 0; /* there must be 'bottom' for ps-scrollbar-x */
height: 9px;
background-color: rgb(241, 241, 241);
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
visibility: visible;
display: block;
box-sizing: border-box;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAOCAYAAAD0f5bSAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAALElEQVQokWNgoBs4f/78f1JpJnIsIkvTsAQfP378TypNxyD/+PEjyRrJsgkAKS81km7nDNQAAAAASUVORK5CYII=);
image-rendering: pixelated;
background-repeat: no-repeat;
background-position: center 0;
border: 1px solid #cfcfcf;
}
.ps__thumb-y {
position: absolute; /* please don't change 'position' */
right: 0; /* there must be 'right' for ps-scrollbar-y */
width: 9px;
background-color: rgb(241, 241, 241);
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
visibility: visible;
display: block;
box-sizing: border-box;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAQAAAAz1Zf0AAAAIUlEQVR42mNgAILz/0GQAQo+/gdBBqLAqE5ydH5k+sgEANHgUH2JtDRHAAAAAElFTkSuQmCC);
image-rendering: pixelated;
background-repeat: no-repeat;
background-position: 0 center;
border: 1px solid #cfcfcf;
position: absolute; /* please don't change 'position' */
right: 0; /* there must be 'right' for ps-scrollbar-y */
width: 9px;
background-color: rgb(241, 241, 241);
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
visibility: visible;
display: block;
box-sizing: border-box;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAQAAAAz1Zf0AAAAIUlEQVR42mNgAILz/0GQAQo+/gdBBqLAqE5ydH5k+sgEANHgUH2JtDRHAAAAAElFTkSuQmCC);
image-rendering: pixelated;
background-repeat: no-repeat;
background-position: 0 center;
border: 1px solid #cfcfcf;
}
.ps__rail-x:hover > .ps__thumb-x {
@ -577,52 +579,51 @@ a.aboutlink:active {
/* loader */
@keyframes rotation {
from {
transform: rotate(0deg);
}
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
to {
transform: rotate(360deg);
}
}
.asc-loader-container {
position: relative;
position: relative;
}
.asc-plugin-loader {
position: absolute;
left: 50%;
top: 50%;
margin-top: -10px;
z-index: 10000;
line-height: 20px;
background-image: none;
background-color: transparent;
color: #444444;
transform: translate(-50%, 0);
position: absolute;
left: 50%;
top: 50%;
margin-top: -10px;
z-index: 10000;
line-height: 20px;
background-image: none;
background-color: transparent;
color: #444444;
transform: translate(-50%, 0);
}
.asc-plugin-loader .asc-loader-image {
height: 20px;
width: 20px;
float: left;
margin-top: -1px;
height: 20px;
width: 20px;
float: left;
margin-top: -1px;
animation-duration: .8s;
animation-name: rotation;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-duration: 0.8s;
animation-name: rotation;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
.asc-loader-image-light {
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCI+PGNpcmNsZSBjeD0iMTQiIGN5PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgcj0iMTAuMjUiIHN0cm9rZS1kYXNoYXJyYXk9IjE2MCUsIDQwJSIgLz48L3N2Zz4=);
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCI+PGNpcmNsZSBjeD0iMTQiIGN5PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjEuNSIgcj0iMTAuMjUiIHN0cm9rZS1kYXNoYXJyYXk9IjE2MCUsIDQwJSIgLz48L3N2Zz4=);
}
.asc-loader-image-dark {
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGNpcmNsZSBjeD0iMTAiIGN5PSIxMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDQ0IiBzdHJva2Utd2lkdGg9IjEuNSIgcj0iNy4yNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTYwJSwgNDAlIiAvPjwvc3ZnPg==);
.asc-loader-image-dark {
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGNpcmNsZSBjeD0iMTAiIGN5PSIxMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDQ0IiBzdHJva2Utd2lkdGg9IjEuNSIgcj0iNy4yNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTYwJSwgNDAlIiAvPjwvc3ZnPg==);
}
.asc-plugin-loader .asc-loader-title {
font-size: 13px;
padding-left: 25px;
min-width: 100px;
font-size: 13px;
padding-left: 25px;
min-width: 100px;
}
/* default scroll */
@ -632,35 +633,35 @@ a.aboutlink:active {
} */
*::-webkit-scrollbar {
width: 9px;
height: 9px;
width: 9px;
height: 9px;
}
*::-webkit-scrollbar-thumb {
border-radius: 2px;
border: 1px solid;
image-rendering: pixelated;
background-repeat: no-repeat;
cursor: default;
border-radius: 2px;
border: 1px solid;
image-rendering: pixelated;
background-repeat: no-repeat;
cursor: default;
}
*::-webkit-scrollbar-track {
cursor: default;
cursor: default;
}
*::-webkit-scrollbar-thumb:vertical {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAQAAAAz1Zf0AAAAIUlEQVR42mNgAILz/0GQAQo+/gdBBqLAqE5ydH5k+sgEANHgUH2JtDRHAAAAAElFTkSuQmCC);
background-position: 0px center;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAQAAAAz1Zf0AAAAIUlEQVR42mNgAILz/0GQAQo+/gdBBqLAqE5ydH5k+sgEANHgUH2JtDRHAAAAAElFTkSuQmCC);
background-position: 0px center;
}
*::-webkit-scrollbar-thumb:horizontal {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAOCAYAAAD0f5bSAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAALElEQVQokWNgoBs4f/78f1JpJnIsIkvTsAQfP378TypNxyD/+PEjyRrJsgkAKS81km7nDNQAAAAASUVORK5CYII=);
background-position: center 0px;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAOCAYAAAD0f5bSAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAALElEQVQokWNgoBs4f/78f1JpJnIsIkvTsAQfP378TypNxyD/+PEjyRrJsgkAKS81km7nDNQAAAAASUVORK5CYII=);
background-position: center 0px;
}
*::-webkit-scrollbar-thumb:vertical:hover {
background-position: -7px center;
background-position: -7px center;
}
*::-webkit-scrollbar-thumb:horizontal:hover {
background-position: center -7px;
}
background-position: center -7px;
}

File diff suppressed because it is too large Load Diff

View File

@ -4,32 +4,32 @@
*/
const AIIntegration = {
// Current state
prevView: null,
currentView: 'settings',
isCollapsed: true,
// Callback functions
onSave: null,
onOk: null,
onResetActions: null,
onResetAllSettings: null,
// Initialize the AI integration
init() {
this.createAISection();
this.bindEvents();
this.loadCurrentView();
},
/**
* Create the AI settings section in the DOM
*/
createAISection() {
const targetElement = document.getElementById('ai-settings-section');
if (!targetElement) return;
targetElement.innerHTML = `
// Current state
prevView: null,
currentView: 'settings',
isCollapsed: true,
// Callback functions
onSave: null,
onOk: null,
onResetActions: null,
onResetAllSettings: null,
// Initialize the AI integration
init() {
this.createAISection();
this.bindEvents();
this.loadCurrentView();
},
/**
* Create the AI settings section in the DOM
*/
createAISection() {
const targetElement = document.getElementById('ai-settings-section');
if (!targetElement) return;
targetElement.innerHTML = `
<div class="ai-spoiler collapsed" id="ai-spoiler">
AI Models Configuration
</div>
@ -52,262 +52,261 @@ const AIIntegration = {
</div>
</div>
`;
},
/**
* Bind event handlers
*/
bindEvents() {
const spoiler = document.getElementById('ai-spoiler');
const btnBack = document.getElementById('ai-btn-back');
const btnCancel = document.getElementById('ai-btn-cancel');
const btnSave = document.getElementById('ai-btn-save');
const btnOk = document.getElementById('ai-btn-ok');
const btnResetActions = document.getElementById('ai-btn-reset-actions');
const btnResetAllSettings = document.getElementById('ai-btn-reset-all-settings');
const iframeSettings = document.getElementById('ai-iframe-settings');
const iframeEdit = document.getElementById('ai-iframe-edit');
const iframeList = document.getElementById('ai-iframe-list');
if (spoiler) {
spoiler.addEventListener('click', () => this.toggleSpoiler());
}
if (btnBack) {
btnBack.addEventListener('click', () => this.goBack());
}
if (btnCancel) {
btnCancel.addEventListener('click', () => this.cancel());
}
if (btnSave) {
btnSave.addEventListener('click', () => this.save());
}
if (btnOk) {
btnOk.addEventListener('click', () => this.ok());
}
},
if (btnResetActions) {
btnResetActions.addEventListener('click', () => this.resetActions());
}
/**
* Bind event handlers
*/
bindEvents() {
const spoiler = document.getElementById('ai-spoiler');
const btnBack = document.getElementById('ai-btn-back');
const btnCancel = document.getElementById('ai-btn-cancel');
const btnSave = document.getElementById('ai-btn-save');
const btnOk = document.getElementById('ai-btn-ok');
const btnResetActions = document.getElementById('ai-btn-reset-actions');
const btnResetAllSettings = document.getElementById('ai-btn-reset-all-settings');
const iframeSettings = document.getElementById('ai-iframe-settings');
const iframeEdit = document.getElementById('ai-iframe-edit');
const iframeList = document.getElementById('ai-iframe-list');
if (btnResetAllSettings) {
btnResetAllSettings.addEventListener('click', () => this.resetAllSettings());
}
if (iframeSettings) {
iframeSettings.addEventListener('load', () => this.onIframeLoad());
}
if (iframeEdit) {
iframeEdit.addEventListener('load', () => this.onIframeLoad());
}
if (iframeList) {
iframeList.addEventListener('load', () => this.onIframeLoad());
}
},
/**
* Toggle the spoiler visibility
*/
toggleSpoiler() {
const spoiler = document.getElementById('ai-spoiler');
const content = document.getElementById('ai-content');
if (!spoiler || !content) return;
this.isCollapsed = !this.isCollapsed;
if (this.isCollapsed) {
spoiler.classList.add('collapsed');
content.classList.add('collapsed');
} else {
spoiler.classList.remove('collapsed');
content.classList.remove('collapsed');
this.loadCurrentView();
}
},
/**
* Load the current view in the iframe
* @returns {void} No return value
*/
loadCurrentView() {
if (this.isCollapsed) return;
const iframeSettings = document.getElementById('ai-iframe-settings');
const iframeEdit = document.getElementById('ai-iframe-edit');
const iframeList = document.getElementById('ai-iframe-list');
if (!iframeSettings || !iframeEdit || !iframeList) return;
// Hide all iframes first
[iframeSettings, iframeEdit, iframeList].forEach(iframe => {
iframe.classList.add('hidden');
});
// Show loading overlay
const overlay = document.getElementById('ai-overlay');
if (overlay) {
overlay.classList.add('loading');
}
// Always reassign src to force reload, then show the appropriate iframe
switch (this.currentView) {
case 'settings':
iframeSettings.src = 'ai/settings.html';
iframeSettings.classList.remove('hidden');
break;
case 'aiModelEdit':
iframeEdit.src = 'ai/aiModelEdit.html';
iframeEdit.classList.remove('hidden');
break;
case 'aiModelsList':
iframeList.src = 'ai/aiModelsList.html';
iframeList.classList.remove('hidden');
break;
default:
iframeSettings.src = 'ai/settings.html';
iframeSettings.classList.remove('hidden');
}
this.updateControls();
},
/**
* Update control buttons visibility based on current view
*/
updateControls() {
const btnBack = document.getElementById('ai-btn-back');
const btnCancel = document.getElementById('ai-btn-cancel');
const btnSave = document.getElementById('ai-btn-save');
const btnOk = document.getElementById('ai-btn-ok');
const btnResetActions = document.getElementById('ai-btn-reset-actions');
const btnResetAllSettings = document.getElementById('ai-btn-reset-all-settings');
// Hide all buttons first
[btnBack, btnCancel, btnSave, btnOk, btnResetActions, btnResetAllSettings].forEach(btn => {
if (btn) btn.style.display = 'none';
});
// Show buttons based on current view
switch (this.currentView) {
case 'settings':
if (btnSave) btnSave.style.display = 'inline-block';
if (btnResetActions) btnResetActions.style.display = 'inline-block';
if (btnResetAllSettings) btnResetAllSettings.style.display = 'inline-block';
break;
case 'aiModelEdit':
if (btnOk) btnOk.style.display = 'inline-block';
if (btnCancel) btnCancel.style.display = 'inline-block';
break;
case 'aiModelsList':
if (btnBack) btnBack.style.display = 'inline-block';
break;
}
},
/**
* Handle iframe load event
* @returns {void} No return value
*/
onIframeLoad() {
const overlay = document.getElementById('ai-overlay');
if (overlay) {
// Hide loading overlay after a short delay
setTimeout(() => {
overlay.classList.remove('loading');
}, 300);
}
},
/**
* Navigate to a specific view
* @param {string} view - The view to navigate to ('settings', 'aiModelEdit', 'aiModelsList')
*/
navigateToView(view) {
this.prevView = this.currentView
this.currentView = view;
this.loadCurrentView();
},
save() {
if (this.onSave) {
this.onSave().then((res) => {
const btnSave = document.getElementById('ai-btn-save');
if (btnSave) {
const originalText = btnSave.textContent;
btnSave.textContent = res ? 'Saved!' : 'Save failed!';
btnSave.disabled = true;
setTimeout(() => {
btnSave.textContent = originalText;
btnSave.disabled = false;
}, 2000);
}
});
}
},
goBack() {
this.navigateToView('settings');
if (this.onBack) {
this.onBack();
}
},
ok() {
this.navigateToView(this.prevView || 'aiModelsList');
if (this.onOk) {
this.onOk();
}
},
cancel() {
this.navigateToView(this.prevView || 'aiModelsList');
},
resetActions() {
if (this.onResetActions) {
this.onResetActions().then((res) => {
const btnResetActions = document.getElementById('ai-btn-reset-actions');
if (btnResetActions) {
const originalText = btnResetActions.textContent;
btnResetActions.textContent = res ? 'Tasks Reset!' : 'Reset Failed!';
btnResetActions.disabled = true;
setTimeout(() => {
btnResetActions.textContent = originalText;
btnResetActions.disabled = false;
}, 2000);
}
});
}
},
resetAllSettings() {
if (this.onResetAllSettings) {
this.onResetAllSettings().then((res) => {
const btnResetAllSettings = document.getElementById('ai-btn-reset-all-settings');
if (btnResetAllSettings) {
const originalText = btnResetAllSettings.textContent;
btnResetAllSettings.textContent = res ? 'Defaults Restored!' : 'Restore Failed!';
btnResetAllSettings.disabled = true;
setTimeout(() => {
btnResetAllSettings.textContent = originalText;
btnResetAllSettings.disabled = false;
}, 2000);
}
});
}
if (spoiler) {
spoiler.addEventListener('click', () => this.toggleSpoiler());
}
if (btnBack) {
btnBack.addEventListener('click', () => this.goBack());
}
if (btnCancel) {
btnCancel.addEventListener('click', () => this.cancel());
}
if (btnSave) {
btnSave.addEventListener('click', () => this.save());
}
if (btnOk) {
btnOk.addEventListener('click', () => this.ok());
}
if (btnResetActions) {
btnResetActions.addEventListener('click', () => this.resetActions());
}
if (btnResetAllSettings) {
btnResetAllSettings.addEventListener('click', () => this.resetAllSettings());
}
if (iframeSettings) {
iframeSettings.addEventListener('load', () => this.onIframeLoad());
}
if (iframeEdit) {
iframeEdit.addEventListener('load', () => this.onIframeLoad());
}
if (iframeList) {
iframeList.addEventListener('load', () => this.onIframeLoad());
}
},
/**
* Toggle the spoiler visibility
*/
toggleSpoiler() {
const spoiler = document.getElementById('ai-spoiler');
const content = document.getElementById('ai-content');
if (!spoiler || !content) return;
this.isCollapsed = !this.isCollapsed;
if (this.isCollapsed) {
spoiler.classList.add('collapsed');
content.classList.add('collapsed');
} else {
spoiler.classList.remove('collapsed');
content.classList.remove('collapsed');
this.loadCurrentView();
}
},
/**
* Load the current view in the iframe
* @returns {void} No return value
*/
loadCurrentView() {
if (this.isCollapsed) return;
const iframeSettings = document.getElementById('ai-iframe-settings');
const iframeEdit = document.getElementById('ai-iframe-edit');
const iframeList = document.getElementById('ai-iframe-list');
if (!iframeSettings || !iframeEdit || !iframeList) return;
// Hide all iframes first
[iframeSettings, iframeEdit, iframeList].forEach(iframe => {
iframe.classList.add('hidden');
});
// Show loading overlay
const overlay = document.getElementById('ai-overlay');
if (overlay) {
overlay.classList.add('loading');
}
// Always reassign src to force reload, then show the appropriate iframe
switch (this.currentView) {
case 'settings':
iframeSettings.src = 'ai/settings.html';
iframeSettings.classList.remove('hidden');
break;
case 'aiModelEdit':
iframeEdit.src = 'ai/aiModelEdit.html';
iframeEdit.classList.remove('hidden');
break;
case 'aiModelsList':
iframeList.src = 'ai/aiModelsList.html';
iframeList.classList.remove('hidden');
break;
default:
iframeSettings.src = 'ai/settings.html';
iframeSettings.classList.remove('hidden');
}
this.updateControls();
},
/**
* Update control buttons visibility based on current view
*/
updateControls() {
const btnBack = document.getElementById('ai-btn-back');
const btnCancel = document.getElementById('ai-btn-cancel');
const btnSave = document.getElementById('ai-btn-save');
const btnOk = document.getElementById('ai-btn-ok');
const btnResetActions = document.getElementById('ai-btn-reset-actions');
const btnResetAllSettings = document.getElementById('ai-btn-reset-all-settings');
// Hide all buttons first
[btnBack, btnCancel, btnSave, btnOk, btnResetActions, btnResetAllSettings].forEach(btn => {
if (btn) btn.style.display = 'none';
});
// Show buttons based on current view
switch (this.currentView) {
case 'settings':
if (btnSave) btnSave.style.display = 'inline-block';
if (btnResetActions) btnResetActions.style.display = 'inline-block';
if (btnResetAllSettings) btnResetAllSettings.style.display = 'inline-block';
break;
case 'aiModelEdit':
if (btnOk) btnOk.style.display = 'inline-block';
if (btnCancel) btnCancel.style.display = 'inline-block';
break;
case 'aiModelsList':
if (btnBack) btnBack.style.display = 'inline-block';
break;
}
},
/**
* Handle iframe load event
* @returns {void} No return value
*/
onIframeLoad() {
const overlay = document.getElementById('ai-overlay');
if (overlay) {
// Hide loading overlay after a short delay
setTimeout(() => {
overlay.classList.remove('loading');
}, 300);
}
},
/**
* Navigate to a specific view
* @param {string} view - The view to navigate to ('settings', 'aiModelEdit', 'aiModelsList')
*/
navigateToView(view) {
this.prevView = this.currentView;
this.currentView = view;
this.loadCurrentView();
},
save() {
if (this.onSave) {
this.onSave().then(res => {
const btnSave = document.getElementById('ai-btn-save');
if (btnSave) {
const originalText = btnSave.textContent;
btnSave.textContent = res ? 'Saved!' : 'Save failed!';
btnSave.disabled = true;
setTimeout(() => {
btnSave.textContent = originalText;
btnSave.disabled = false;
}, 2000);
}
});
}
},
goBack() {
this.navigateToView('settings');
if (this.onBack) {
this.onBack();
}
},
ok() {
this.navigateToView(this.prevView || 'aiModelsList');
if (this.onOk) {
this.onOk();
}
},
cancel() {
this.navigateToView(this.prevView || 'aiModelsList');
},
resetActions() {
if (this.onResetActions) {
this.onResetActions().then(res => {
const btnResetActions = document.getElementById('ai-btn-reset-actions');
if (btnResetActions) {
const originalText = btnResetActions.textContent;
btnResetActions.textContent = res ? 'Tasks Reset!' : 'Reset Failed!';
btnResetActions.disabled = true;
setTimeout(() => {
btnResetActions.textContent = originalText;
btnResetActions.disabled = false;
}, 2000);
}
});
}
},
resetAllSettings() {
if (this.onResetAllSettings) {
this.onResetAllSettings().then(res => {
const btnResetAllSettings = document.getElementById('ai-btn-reset-all-settings');
if (btnResetAllSettings) {
const originalText = btnResetAllSettings.textContent;
btnResetAllSettings.textContent = res ? 'Defaults Restored!' : 'Restore Failed!';
btnResetAllSettings.disabled = true;
setTimeout(() => {
btnResetAllSettings.textContent = originalText;
btnResetAllSettings.disabled = false;
}, 2000);
}
});
}
}
};
// Initialize when DOM is ready
document.addEventListener('DOMContentLoaded', () => {
AIIntegration.init();
AIIntegration.init();
});

File diff suppressed because it is too large Load Diff

View File

@ -1,132 +1,129 @@
<!DOCTYPE html>
<!doctype html>
<html>
<head>
<head>
<title>ONLYOFFICE™</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=IE8"/>
<link href="img/favicon.ico" rel="icon" type="image/x-icon">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=IE8" />
<link href="img/favicon.ico" rel="icon" type="image/x-icon" />
<style type="text/css">
html {
height: 100%;
}
html {
height: 100%;
}
body {
height: 100%;
min-width: 600px;
margin: 0;
padding: 0;
overflow: hidden;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #333333;
}
body {
height: 100%;
min-width: 600px;
margin: 0;
padding: 0;
overflow: hidden;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
color: #333333;
}
#doc-server-header {
height: 80px;
font-size: 18px;
color: #adadad;
}
#doc-server-header {
height: 80px;
font-size: 18px;
color: #adadad;
}
#doc-server-footer {
height: 100px;
font-size: 12px;
line-height: 20px;
}
#doc-server-footer {
height: 100px;
font-size: 12px;
line-height: 20px;
}
#doc-server-status {
font-size: 24px;
font-weight: bold;
}
#doc-server-status {
font-size: 24px;
font-weight: bold;
}
#doc-server-status > div {
display: inline-block;
vertical-align: middle;
text-align: left;
}
#doc-server-status > div {
display: inline-block;
vertical-align: middle;
text-align: left;
}
#doc-server-status > div:first-child {
height: 48px;
}
#doc-server-status > div:first-child {
height: 48px;
}
#status-ok-icon {
width:48px;
margin-right: 15px;
background: url(img/icon-done.png) center no-repeat;
}
#status-ok-icon {
width: 48px;
margin-right: 15px;
background: url(img/icon-done.png) center no-repeat;
}
#status-err-icon {
width:48px;
margin-right: 15px;
background: url(img/icon-cross.png) center no-repeat;
}
#status-err-icon {
width: 48px;
margin-right: 15px;
background: url(img/icon-cross.png) center no-repeat;
}
#status-err-help {
font-size: 18px;
font-weight: normal;
margin-top: 5px;
}
#status-err-help {
font-size: 18px;
font-weight: normal;
margin-top: 5px;
}
</style>
</head>
<body>
</head>
<body>
<script>
document.write(
'<table width="100%" height="100%">' +
'<tr><td id="doc-server-header" valign="bottom" align="center">Thank you for choosing ONLYOFFICE!</td></tr>' +
'<tr><td align="center">' +
'<div id="doc-server-status"><div></div>Please, wait...</div>' +
'</td></tr>' +
'<tr><td id="doc-server-footer" valign="top" align="center">' +
'<div>Any questions?</div>' +
'<div>Explore ONLYOFFICE™ Document Server <a href="https://api.onlyoffice.com/editors/basic" target="_blank">API Documentation</a></div>' +
'<div>or visit our <a href="http://dev.onlyoffice.org/viewforum.php?f=44&sid=505c86017ee42e6005d24fc5b8c6818c" target="_blank">developers forum.</a></div>' +
'</td></tr>' +
'</table>'
);
document.write(
'<table width="100%" height="100%">' +
'<tr><td id="doc-server-header" valign="bottom" align="center">Thank you for choosing ONLYOFFICE!</td></tr>' +
'<tr><td align="center">' +
'<div id="doc-server-status"><div></div>Please, wait...</div>' +
'</td></tr>' +
'<tr><td id="doc-server-footer" valign="top" align="center">' +
'<div>Any questions?</div>' +
'<div>Explore ONLYOFFICE™ Document Server <a href="https://api.onlyoffice.com/editors/basic" target="_blank">API Documentation</a></div>' +
'<div>or visit our <a href="http://dev.onlyoffice.org/viewforum.php?f=44&sid=505c86017ee42e6005d24fc5b8c6818c" target="_blank">developers forum.</a></div>' +
'</td></tr>' +
'</table>'
);
var _createXMLHTTPObject = function() {
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
};
var _createXMLHTTPObject = function () {
var xmlhttp;
try {
xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
};
(function(){
try {
var xhrObj = _createXMLHTTPObject();
if (xhrObj) {
var index_html = window["location"]["href"];
var healthcheck_url = index_html.substring(0, index_html.lastIndexOf("/") + 1) + '../healthcheck';
xhrObj.open('GET', healthcheck_url);
xhrObj.onreadystatechange = function() {
if (xhrObj.readyState == 4) {
var serverstatus = document.getElementById('doc-server-status');
if (xhrObj.status == 200 && xhrObj.responseText=="true") {
serverstatus.innerHTML = '<div id="status-ok-icon"></div>Document Server is running';
} else {
serverstatus.innerHTML = '<div id="status-err-icon"></div><div>'+
'<div>Something went wrong during installation</div>' +
'<div id="status-err-help">Make sure that you have followed the <a href="http://helpcenter.onlyoffice.com/server/document.aspx" target="_blank">installation instructions</a></div></div>';
}
}
};
xhrObj.send('');
(function () {
try {
var xhrObj = _createXMLHTTPObject();
if (xhrObj) {
var index_html = window['location']['href'];
var healthcheck_url = index_html.substring(0, index_html.lastIndexOf('/') + 1) + '../healthcheck';
xhrObj.open('GET', healthcheck_url);
xhrObj.onreadystatechange = function () {
if (xhrObj.readyState == 4) {
var serverstatus = document.getElementById('doc-server-status');
if (xhrObj.status == 200 && xhrObj.responseText == 'true') {
serverstatus.innerHTML = '<div id="status-ok-icon"></div>Document Server is running';
} else {
serverstatus.innerHTML =
'<div id="status-err-icon"></div><div>' +
'<div>Something went wrong during installation</div>' +
'<div id="status-err-help">Make sure that you have followed the <a href="http://helpcenter.onlyoffice.com/server/document.aspx" target="_blank">installation instructions</a></div></div>';
}
}
catch (e) {}
})();
}
};
xhrObj.send('');
}
} catch (e) {}
})();
</script>
</body>
</body>
</html>