module Workstation
  class EditTrackDetailsModal < UniversalPage
    list_items(:edit_track, class: "blinking")
    select_list(:edit_track_language, id: "edittrackmodal_trackLanguage")
    link(:apply_language_to_all) do
      list_item_element(id: "editTrackLanguage_li").link_element(class: "applyall")
    end
    text_field(:edit_track_name, id: "edittrackmodal_trackName")
    text_field(:edit_track_version, id: "edittrackmodal_versionName")
    span(:track_display, class: "displayedAs")
    link(:next_track, id: "next_button")
    link(:save_edited_tracks, id: "save_and_close_button")

    def wait_for_loader
      wait_until { loader_is_present }
      wait_until(60) { !loader_is_present }
    end

    private

    def loader_is_present
      save_edited_tracks_element.element.attribute_value("class").include? "loading"
    end
  end
end
