Projects STRLCPY GraphSpy Commits 4f7ff9ab
🤬
  • Device Code Table Colors based on Success Status + Toast Notification Color + Access Tokens Table Color based on expiry date

  • Loading...
  • RedByte1337 committed 1 month ago
    4f7ff9ab
    1 parent 9f509f96
  • ■ ■ ■ ■ ■
    GraphSpy/static/js/functions.js
    skipped 110 lines
    111 111   url: "/api/generate_device_code",
    112 112   data: { "resource": resource, "client_id": client_id }
    113 113   });
    114  - bootstrapToast("Device Code", `[Success] Generated Device Code with User Code '${response.responseText}'.`);
     114 + bootstrapToast("Device Code", `[Success] Generated Device Code with User Code '${response.responseText}'.`, "primary");
    115 115   reloadTables();
    116 116  }
    117 117   
    skipped 181 lines
    299 299   var type_class = `alert-${type}`;
    300 300   var dom = $('<div>');
    301 301   dom.addClass("alert alert-dismissible");
    302  - dom.addClass(type_class);
     302 + validTypes = ["primary", "secondary", "success", "danger", "warning", "info", "light", "dark"]
     303 + if (type && validTypes.includes(type.toLowerCase())) {
     304 + dom.addClass(`alert-${type.toLowerCase()}`);
     305 + }
    303 306   dom.attr("role", "alert");
    304 307   dom.text(message);
    305 308   dom.append($('<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>'));
    306 309   $('#alert_placeholder').append(dom);
    307 310  }
    308 311   
    309  -function bootstrapToast(title, message) {
     312 +function bootstrapToast(title, message, type = null, alternative = false) {
     313 + // Types: primary, secondary, success, danger, warning, info, light, dark
    310 314   // Wrapper for new Toast Message
    311 315   var toast_wrapper = $('<div class="toast" role="alert" aria-live="assertive" aria-atomic="true"></div>');
     316 + validTypes = ["primary", "secondary", "success", "danger", "warning", "info", "light", "dark"]
     317 + if (type && validTypes.includes(type.toLowerCase())) {
     318 + if (alternative) {
     319 + toast_wrapper.addClass(`bg-${type.toLowerCase()}-subtle`).addClass(`text-${type.toLowerCase()}-emphasis`);
     320 + } else {
     321 + toast_wrapper.addClass(`text-bg-${type.toLowerCase()}`);
     322 + }
     323 + }
    312 324   // Toast header
    313 325   var toast_header = $('<div class="toast-header"><small>Just now</small><button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button></div>');
    314 326   var toast_title = $('<strong class="me-auto"></strong>');
    skipped 15 lines
  • ■ ■ ■ ■ ■
    GraphSpy/templates/access_token_modal.html
    skipped 77 lines
    78 78   { data: 'description' }
    79 79   ],
    80 80   order: [[4, 'desc']],
    81  - autoWidth: false
     81 + autoWidth: false,
     82 + order: [[4, 'desc']],
     83 + createdRow: function (row, data, dataIndex) {
     84 + if (new Date(data.expires_at) > new Date()) {
     85 + $(row).addClass('bg-success-subtle').addClass('text-success-emphasis');
     86 + } else {
     87 + $(row).addClass('bg-danger-subtle').addClass('text-danger-emphasis');
     88 + }
     89 + }
    82 90   })
    83 91   
    84 92   accessTokenModalTable.on('click', 'td.dt-control', function (e) {
    skipped 60 lines
  • ■ ■ ■ ■ ■
    GraphSpy/templates/access_tokens.html
    skipped 154 lines
    155 155   { data: 'resource', 'width': '350px' },
    156 156   { data: 'description' }
    157 157   ],
    158  - order: [[4, 'desc']]
     158 + order: [[4, 'desc']],
     159 + createdRow: function (row, data, dataIndex) {
     160 + if (new Date(data.expires_at) > new Date()) {
     161 + $(row).addClass('bg-success-subtle').addClass('text-success-emphasis');
     162 + } else {
     163 + $(row).addClass('bg-danger-subtle').addClass('text-danger-emphasis');
     164 + }
     165 + }
    159 166   })
    160 167   
    161 168   myTable.on('click', 'td.dt-control', function (e) {
    skipped 56 lines
  • ■ ■ ■ ■ ■ ■
    GraphSpy/templates/device_codes.html
    skipped 92 lines
    93 93   { data: 'client_id', 'width': '310px' },
    94 94   { data: 'status' }
    95 95   ],
    96  - order: [[3, 'desc']]
     96 + order: [[3, 'desc']],
     97 + createdRow: function (row, data, dataIndex) {
     98 + switch (data.status) {
     99 + case "SUCCESS":
     100 + $(row).addClass('bg-success-subtle').addClass('text-success-emphasis');
     101 + break;
     102 + case "EXPIRED":
     103 + $(row).addClass('bg-danger-subtle').addClass('text-danger-emphasis');
     104 + break;
     105 + default:
     106 + $(row).addClass('bg-primary-subtle').addClass('text-primary-emphasis');
     107 + }
     108 + }
    97 109   })
    98 110   
    99 111   myTable.on('click', 'td.dt-control', function (e) {
    skipped 52 lines
  • ■ ■ ■ ■
    GraphSpy/version.txt
    1  -1.1.3
     1 +1.1.4
Please wait...
Page is in error, reload to recover