/**
 * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 *
 * WSO2 Inc. licenses this file to you under the Apache License,
 * Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

define(['jquery', './modal-dialog'], function ($, ModalDialog) {

    var ReplaceConfirmDialog = function (options) {
        this._options = options;
        this._$container = $(_.get(options, 'container', 'body'));
    };

    ReplaceConfirmDialog.prototype = Object.create(ModalDialog.prototype);
    ReplaceConfirmDialog.prototype.constructor = ReplaceConfirmDialog;

    ReplaceConfirmDialog.prototype.askConfirmation = function (options) {
        var self = this;

        this.setSubmitBtnText('Replace');
        this.setCloseBtnText('Cancel');
        this._$modalContainer.addClass("replace-confirm-dialog");
        this.setTitle("Replace File?");

        var path = options.path;
        var body = this.getBody();
        body.empty();
        body.append($("<p><br>File '" + path + "' already exists. Do you want to overwrite its contents?</p>"))

        this.getSubmitBtn().unbind('click');

        this.getSubmitBtn().click(function(){
            if(_.has(options, 'handleConfirm')){
                self.hide();
                options.handleConfirm(true);
            }
        });

        this.show();
    }

    return ReplaceConfirmDialog;
});
