Beispiel #1
0
 $( ".uinput-slider-val", context).on("change", function(){
   $( ".uinput-slider",context).val(Humanize.sizeToMB(($( ".uinput-slider-val",context).val()).toString())*1024);
   var cost = Humanize.sizeToMB($( ".uinput-slider",context).val())*that.diskCost;
   if(isNaN(cost)){
     cost = 0;
   }
   document.getElementById("new_cost_resize").textContent =  Locale.tr("Cost")+": "+ convertCostNumber(cost);
 });
Beispiel #2
0
  function _setup(context) {
    var that = this;
    Tips.setup(context);
    $( ".diskSlider", context).html(RangeSlider.html({
        min: that.diskSize,
        max: Humanize.sizeToMB("500GB")*1024,
        initial: that.diskSize,
        name: "resize"
    }));
    $( ".uinput-slider-val",context).prop('type', 'text');
    $( ".uinput-slider-val",context).val(Humanize.size($( ".uinput-slider",context).val()));

    $( ".uinput-slider", context).on("input", function(){
      $( ".uinput-slider-val",context).val(Humanize.size($( ".uinput-slider",context).val()));
      var cost = Humanize.sizeToMB($( ".uinput-slider",context).val())*that.diskCost;
      if(isNaN(cost)){
        cost = 0;
      }
      document.getElementById("new_cost_resize").textContent =  Locale.tr("Cost")+": "+ convertCostNumber(cost);
    });

    $( ".uinput-slider-val", context).on("change", function(){
      $( ".uinput-slider",context).val(Humanize.sizeToMB(($( ".uinput-slider-val",context).val()).toString())*1024);
      var cost = Humanize.sizeToMB($( ".uinput-slider",context).val())*that.diskCost;
      if(isNaN(cost)){
        cost = 0;
      }
      document.getElementById("new_cost_resize").textContent =  Locale.tr("Cost")+": "+ convertCostNumber(cost);
    });

    var cost = Humanize.sizeToMB($( ".uinput-slider",context).val())*this.diskCost;
    if(isNaN(cost)){
        cost = 0;
    }
    document.getElementById("new_cost_resize").textContent =  Locale.tr("Cost")+": "+ convertCostNumber(cost);


    $('#' + DIALOG_ID + 'Form', context).submit(function() {
      var new_size = $( ".uinput-slider",context).val();
      new_size = Math.round(parseInt(new_size) / 1024);
      new_size = new_size.toString();
      var obj = {
        "vm_id": that.element.ID,
        "disk_id" : that.diskId,
        "new_size": new_size
      };

      Sunstone.runAction('VM.disk_resize', that.element.ID, obj);

      Sunstone.getDialog(DIALOG_ID).hide();
      Sunstone.getDialog(DIALOG_ID).reset();
      return false;
    });

    return false;
  }
Beispiel #3
0
 function changeInputMEM(maxMEM){
   if($("#textInput_reserved_mem_hosts").val() === ""){
     $("#change_bar_mem_hosts").val(0);
   } else {
     $("#change_bar_mem_hosts").val(Humanize.sizeToMB($("#textInput_reserved_mem_hosts").val())*1024);
   }
   changeColorInputMEM(maxMEM);
 }
Beispiel #4
0
    $('#' + DIALOG_ID + 'Form', context).submit(function() {
      var new_size = Humanize.sizeToMB($( ".uinput-slider-val",context).val());
      new_size = new_size.toString();
      var obj = {
        "vm_id": that.element.ID,
        "disk_id" : that.diskId,
        "new_size": new_size
      };

      Sunstone.runAction('VM.disk_resize', that.element.ID, obj);

      Sunstone.getDialog(DIALOG_ID).hide();
      Sunstone.getDialog(DIALOG_ID).reset();
      return false;
    });
Beispiel #5
0
    $(context).off("click", "#update_reserved_hosts").on("click", "#update_reserved_hosts", function(){
      $("#update_reserved_hosts", context).prop("disabled", true);
      var reservedCPU = parseInt($("#textInput_reserved_cpu_hosts", context).val());
      var CPU = parseInt(that.element.HOST_SHARE.FREE_CPU);
      var reservedMem = parseInt(Humanize.sizeToMB($("#textInput_reserved_mem_hosts").val()) * 1024);
      var MEM = parseInt(that.element.HOST_SHARE.FREE_MEM);
      if (parseInt(that.element.HOST_SHARE.USED_CPU) > 0){
        CPU += parseInt(that.element.HOST_SHARE.USED_CPU);
      }
      reservedCPU = CPU - reservedCPU;
      if (parseInt(that.element.HOST_SHARE.USED_MEM) > 0){
        MEM += parseInt(that.element.HOST_SHARE.USED_MEM);
      }
      reservedMem = MEM - reservedMem;

      var obj = { RESERVED_CPU: reservedCPU, RESERVED_MEM: reservedMem };
      Sunstone.runAction("Host.append_template", that.element.ID, TemplateUtils.templateToString(obj));
    });
Beispiel #6
0
      $.each(disks, function(disk_id, disk) {
        diskContext = $(
          "<div class=\"row diskContainer\">"+
            "<div class=\"small-12 columns\">"+
              "<label></label>"+
            "</div>"+
            "<div class=\"large-12 columns diskSlider\">" +
            "</div>" +
          "</div>").appendTo($(".disksContainer", disksContext));
        if (disks_base) {
          disks_base[disk_id].SIZE = disk.SIZE;
          disks_base[disk_id].ORIGINAL_SIZE = disk.ORIGINAL_SIZE;
          diskContext.data("template_disk", disks_base[disk_id]);
        }

        var disk_snapshot_total_size = 0;
        if (disk.DISK_SNAPSHOT_TOTAL_SIZE != undefined) {
          disk_snapshot_total_size = parseInt(disk.DISK_SNAPSHOT_TOTAL_SIZE);
        }

        diskContext.data("disk_snapshot_total_size", disk_snapshot_total_size);
        diskContext.data("disk_snapshot_total_cost", disk_snapshot_total_size * disk_cost);

        var volatile = (disk.IMAGE == undefined && disk.IMAGE_ID == undefined);

        var label;

        if (volatile){
          label = Locale.tr("Volatile Disk");
        } else {
          label = disk.IMAGE ? disk.IMAGE : Locale.tr("Image was not found");
        }

        $("label", diskContext).text(Locale.tr("DISK") + " " + disk_id + ": " + label);

        var persistent =
          ( opts.force_persistent ||
            (disk.PERSISTENT && disk.PERSISTENT.toUpperCase() == "YES") );

        var disabled =
          ( persistent ||
            (disk.TYPE && OpenNebulaImage.TYPES[disk.TYPE] == OpenNebulaImage.TYPES.CDROM) );

        if (persistent){
          $("label", diskContext).append("<i class=\"disk-resize-icon has-tip left fas fa-lg fa-floppy-o\" title=\"" +
              Locale.tr("Persistent image. The changes will be saved back to the datastore after the VM is terminated (ie goes into DONE state)") + "\"></i>");

        }else{
          $("label", diskContext).append("<i class=\"disk-resize-icon has-tip left fas fa-lg fa-recycle\" title=\"" +
              Locale.tr("Non-persistent disk. The changes will be lost once the VM is terminated (ie goes into DONE state)") + "\"></i>");

        }

        if (disk.IMAGE_STATE){
          var color_class = OpenNebulaImage.stateColor(disk.IMAGE_STATE) + "-color";

          $("label", diskContext).append("<i class=\""+color_class+" disk-resize-icon has-tip left fas fa-square\" title=\"" +
              Locale.tr("Image state: ") + OpenNebulaImage.stateStr(disk.IMAGE_STATE) + "\"></i>");
        } else if (disk.IMAGE || disk.IMAGE_ID) {
          var color_class = "error-color";

          $("label", diskContext).append("<i class=\""+color_class+" disk-resize-icon has-tip left fas fa-square\" title=\"" +
              Locale.tr("Image was not found") + "\"></i>");
        } // else is volatile, does not have state

        var attr;

        if (disabled){
          if (disk.SIZE){
            attr = UserInputs.parse("SIZE","O|fixed|"+label+"||"+disk.SIZE);
          } else {
            attr = UserInputs.parse("SIZE","O|fixed|"+label+"||-");
          }
        } else {
          if (disk.SIZE != undefined){
            // Range from original size to size + 500GB
            var min = parseInt(disk.SIZE);
            var max = min + Humanize.sizeToMB("1024GB");

            attr = UserInputs.parse(
              "SIZE",
              "O|range|"+label+"|"+min+".."+max+"|"+min);
          } else {
            attr = UserInputs.parse(
              "SIZE",
              "M|number|"+label+"||");
          }
        }
        attr.max_value = "";
        if(!opts.uinput_mb){
          $(".diskSlider", diskContext).html(UserInputs.attributeInput(attr));
        } else {
          UserInputs.insertAttributeInputMB(attr, $(".diskSlider", diskContext));
        }
      });
Beispiel #7
0
  function changeInputMEM(maxMEM){
   document.getElementById('change_bar_mem_hosts').value = Humanize.sizeToMB(document.getElementById('textInput_reserved_mem_hosts').value);
   document.getElementById('textInput_reserved_mem_hosts').value = Humanize.size(document.getElementById('change_bar_mem_hosts').value);
   changeColorInputMEM(maxMEM);
 }