Sha256: bf8fe3c3b68a81f3220bbb0a654d304d3edb58bade665c08725d2403d7a38c0f

Contents?: true

Size: 1.43 KB

Versions: 4

Compression:

Stored size: 1.43 KB

Contents

/*global cull, dome*/
this.gts = this.gts || {};

this.gts.cloneNameSuggestion = (function () {
    function repoName(name, repo) {
        var prefix = /s$/.test(name) ? name : name + "s";
        return prefix + "-" + repo;
    }

    return function cloneNameSuggestion(form) {
        var repo = dome.data.get("gts-repository-to-clone", form);
        var userInput = dome.id("repository_owner_type_user");
        var groupInput = dome.id("repository_owner_type_group");
        var groupSelect = dome.id("repository_owner_id_group_select");
        var nameInput = dome.id("repository_name");

        var names = cull.reduce(function (memo, option) {
            return memo.concat(repoName(option.innerHTML, repo));
        }, [repoName(dome.data.get("gts-owner", userInput), repo)], groupSelect.options);

        function setSuggestion() {
            if (nameInput.value && cull.indexOf(nameInput.value, names) < 0) { return; }
            if (userInput.checked) {
                nameInput.value = names[0];
                return;
            }
            if (groupInput.checked) {
                var option = groupSelect.options[groupSelect.selectedIndex];
                nameInput.value = repoName(option.innerHTML, repo);
            }
        }

        dome.on(userInput, "click", setSuggestion);
        dome.on(groupInput, "click", setSuggestion);
        dome.on(groupSelect, "change", setSuggestion);
        setSuggestion();
    };
}());

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dolt-0.29.0 vendor/ui/js/src/components/clone-name-suggestion.js
dolt-0.28.1 vendor/ui/js/src/components/clone-name-suggestion.js
dolt-0.28.0 vendor/ui/js/src/components/clone-name-suggestion.js
dolt-0.27.0 vendor/ui/js/src/components/clone-name-suggestion.js