self.showDialog = function()

in google-cloud-server/src/main/resources/buildServerResources/images.vm.js [302:397]


    self.showDialog = function (data) {
        self.originalImage = data;

        var model = self.image();
        var image = data || {
            sourceProject: '',
            imageType: imageTypes.image,
            maxInstances: 1,
            diskSizeGb: '',
            preemptible: false,
            machineCustom: false,
            subnetManually: false,
            growingId: false,
            externalIP: false,
        };

        var sourceImage = image.sourceImage;
        if (sourceImage && !ko.utils.arrayFirst(self.sourceImages(), function (item) {
            return item.id === sourceImage;
        })) {
            self.sourceImages({id: sourceImage, text: sourceImage});
        }

        var sourceImageFamily = image.sourceImageFamily;
        if (sourceImageFamily && !ko.utils.arrayFirst(self.sourceImageFamilies(), function (item) {
            return item.id === sourceImageFamily;
        })) {
            self.sourceImageFamilies({id: sourceImageFamily, text: sourceImageFamily});
        }

        var instanceTemplate = image.instanceTemplate;
        if (instanceTemplate && !ko.utils.arrayFirst(self.instanceTemplates(), function (item) {
            return item.id === instanceTemplate;
        })) {
            self.instanceTemplates({id: instanceTemplate, text: instanceTemplate});
        }

        var machineType = image.machineType;
        if (machineType && !ko.utils.arrayFirst(self.machineTypes(), function (item) {
            return item.id === machineType;
        })) {
            self.machineTypes({id: machineType, text: machineType});
        }

        var diskType = image.diskType;
        if (diskType && !ko.utils.arrayFirst(self.diskTypes(), function (item) {
            return item.id === diskType;
        })) {
            self.diskTypes({id: diskType, text: diskType});
        }

        var network = image.network;
        if (network && !ko.utils.arrayFirst(self.networks(), function (item) {
            return item.id === network;
        })) {
            self.networks({id: network, text: network});
        }

        model.sourceProject(image.sourceProject);
        model.imageType(image.imageType);
        model.sourceImage(image.sourceImage);
        model.sourceImageFamily(image.sourceImageFamily);
        model.instanceTemplate(image.instanceTemplate);
        model.zone(image.zone);
        model.network(network);
        var subnet = image.subnet;
        changeSubnets(network, subnet);
        model.subnet(subnet);
        model.subnetManually(image.subnetManually || false);
        model.subnetInput(image.subnetInput)
        model.machineCustom(image.machineCustom || false);
        model.machineType(machineType);
        model.machineCores(image.machineCores);
        model.machineMemory(image.machineMemory);
        model.machineMemoryExt(image.machineMemoryExt);
        model.diskType(diskType);
        model.diskSizeGb(image.diskSizeGb);
        model.maxInstances(image.maxInstances);
        model.preemptible(image.preemptible);
        model.vmNamePrefix(image['source-id']);
        model.metadata(image.metadata);
        model.growingId(image.growingId);
        model.externalIP(image.externalIP);
        model.serviceAccount(image.serviceAccount);
        model.scopes(image.scopes);
        model.agentPoolId(image.agent_pool_id);
        model.profileId(image.profileId);

        self.showMetadata(false);
        self.showServiceAccount(!!image.serviceAccount);

        self.image.errors.showAllMessages(false);
        dialog.showDialog(!self.originalImage);

        return false;
    };